1.前后、端都要检查使用者输入
许多程序开发人员喜欢用JavaScript来检查使用者输入的内容,虽然透过正规表达能检视出一些不正常的语法,然而如果黑客将页面储回自己的计算机,或是透过JavaScript语法修改DOM,就能移除掉这些检查机制。
因此前端做过的检查工作,丢给后端程序之前,仍必须查验一遍,千万不要以为前端做过检查,就可以放行。
2.过滤使用者输入内容
目前网站安全最常见的问题,莫过于SQL Injection和XSS攻击手法,而这两个攻击的源头,都来自于没有妥善过滤由使用者传来的数据,除了输入数据之外,包含cookie、参数都可能成为黑客利用的工具。
这些攻击手法都包含一些特定字符,像是「'」、「`」、「 "」、「 <」、「 >」、「 %xx」、「\0xx」等,因此在任何使用者可以传递字符的地方,都要设下检查的机制,过滤数据中是否包含这些特殊字符,将特殊字符进行转化,例如将 「'」转换成「'」或「<」转换成「<」。
3.妥善处理错误讯息
有许多程序开发人员对于错误处理不够细心,导致脚本语法或数据库发生错误时,直接让错误码呈现在浏览器,错误信息对一般的使用者没什么意义,但往往会给黑客带来许多参考价值。
4.检查上传内容
由于Web 2.0带来的强调分享机制,因此也越来越多网站允许使用者上传数据。然而黑客有可能在上传的档名上动手脚,如果不加以检查,就有可能执行对网站有所危害的脚本程序。
5.敏感信息要妥善处理
有些档案该删就删,例如一些应用程序的安装脚本不要留在系统上,账号等相关的敏感数据一定要设在防止搜寻引擎索引、快取的数据夹,或设定相关的防索引语法。
6.将密码以编码方式储进数据库
密码不要采用明码的方式储进数据库,透过像是md5的方式进行编码,让敏感信息可以受到更好的保障。
分享到:
相关推荐
在资源紧张的项目中,重用现有的驱动设计可以极大提高开发效率。硬件抽象层(HAL)的设计就是为了实现驱动程序的重用与移植。HAL提供了一个标准接口来控制微控制器外设,隐藏了具体硬件实现的细节。通过HAL,开发者...
微信小程序开发框架的逻辑层是由JavaScript编写。在JavaScript的基础上,微信团队做了一些适当的修改,以便提高开发小程序的效率。主要修改包括: :diamond_suit: 增加app和page方法,进行程序和页面的注册 :...
在Android应用开发的世界里,构建高质量的应用程序是开发者的核心任务。为了实现这一目标,了解并掌握一系列关键的诀窍至关重要。以下就是从"打造高质量Android应用 Android开发必知的50个诀窍"中提炼出的一些核心...
### Android开发教程之Android平台人机界面开发的四个重要诀窍 #### 一、开源和人机界面的一致性 Android作为一个开源平台,为开发者提供了极大的自由度来创建创新的服务和应用程序。为了确保用户获得一致且高质量...
根据给定文件的信息,我们可以总结出“写坏C程序”的一系列诀窍,这些诀窍实际上是在提醒程序员们在编程过程中应当...编写高质量的代码对于软件开发来说至关重要,它不仅能提高程序的性能,还能减少未来的维护成本。
在Symbian操作系统上开发应用程序是一项复杂而富有挑战性的任务,因为Symbian OS提供了丰富的功能和复杂的架构。为了确保你的应用能够在Symbian平台上高效、稳定地运行,以下是一些关键的知识点和技巧。 首先,充分...
【微信小程序开发技术要点】 1. **禁用全局对象**:微信小程序的脚本逻辑运行在JsCore环境中,不支持window对象,因此无法在脚本中使用window或直接操作组件。 2. **库的兼容性问题**:由于依赖window对象,zepto/...
总的来说,【整站程序】8优技巧网_8ujq.rar 提供了一个完整的网站构建方案,涵盖了从网页设计到小程序开发的多个方面,对于学习网站开发和运营的人来说是一个宝贵的资源。同时,它也是一个实际的案例,可以用于教学...
C++编程实用技巧是提升开发效率和代码质量的关键。这篇文档深入浅出地介绍了专家级的C++程序设计窍门,旨在帮助程序员更好地理解和运用这门强大的编程语言。以下是其中的一些核心要点: ### 第一节:从C转向C++ 1....
《达梦数据库DM8 SQL程序设计》是一份详细介绍...总的来说,《达梦数据库DM8 SQL程序设计》是DM数据库用户不可或缺的参考资料,无论你是初次接触还是资深开发者,都能从中受益匪浅,提升你的数据库管理和应用开发能力。
#### 第6章 管理应用程序资源 介绍资源文件的使用,包括字符串、图像、布局等,教会开发者如何有效组织和引用资源,提升应用的可维护性和性能。 ### Android用户界面设计精髓 #### 第7章 探索用户界面屏幕元素 ...
C#是一种由微软开发并广泛应用于Windows平台的面向对象的编程语言,其设计目标是提高软件质量和开发效率。通过学习C#,开发者可以构建桌面应用、游戏、移动应用以及Web应用。 1. **C#基础知识**:C#的核心特性包括...
14. 技巧和窍门:本书的最后部分可能会给出一些进阶的技巧和窍门,帮助开发者在完成基础Web应用程序的开发后进一步提升其性能、安全性和可维护性。 15. 未来展望:在结束部分,作者可能会提供一些对Go语言Web开发...
Bergsoft Next Suite 6 是一款专为 Delphi 开发者设计的组件库,基于 VCL(Visual Component Library)框架,提供了丰富的控件和功能,旨在提升 Delphi 应用程序的开发效率和用户体验。版本 6.3.2 是该套件的一个...
- **Delphi的应用领域**:Delphi广泛应用于Windows平台上的桌面应用开发,包括但不限于企业级应用程序、科学计算工具、游戏开发等方面。 #### Delphi程序设计入门 - **基础语法**:Object Pascal语言的基础语法是...
:books: 很棒的IT清单 :notebook_with_decorative_cover: :books: 精选清单,由开发人员为开发人员提供的,令人敬畏的工具,实用程序,资源,链接,说明,技巧,窍门,帮助程序,旨在改善开发人员的旅程并提高生产力...
6. **Tips & Tricks**:这个目录可能包含了各种使用技巧和窍门,可以帮助开发者提高效率,解决常见问题,或者发现一些不为人知的功能。 7. **Sources**:如果这个压缩包包含了源代码,那么Sources目录下可能就是...