第一部分:代码安全
一. 对跨越站点的脚本攻击的简单防范:
1.控制好权限,尽可能的降低权限。
2.过滤或转换用户提交数据中的HTML代码。使用HtmlEncode 方法对自于用户输入、数据库或本地文件进行处理;UrlEncode 对 URL 字符串进行编码。
3.必须确保来自查询字符串、窗体字段和 cookie 的输入对于应用来说是合法的。将所有的用户输入都认为可能是恶意的,筛选或者清理下游代码的上下文。验证所有的输入是否为已知的有效值,然后拒绝其他所有的输入。用正则表达式验证通过 HTML 窗体字段、cookie 和查询字符串而接收到的输入数据。
4.限制用户提交数据的长度(验证输入)。
二。防止SQL注入
1. 强制测试输入的长度和数据类型,有助于防止恶意造成的缓冲区溢出漏洞。
2. 测试输入内容,只接受所需的值。拒绝包含二进制数据、转义序列和注释字符的输入内容。这有助于防止脚本注入,防止某些缓冲区溢出攻击。
3. 使用 XML时,根据数据的架构对输入的所有数据强制进行验证。
4. 绝不直接使用用户输入内容来拼凑SQL语句。可以使用用户输入内容做为动态SQL语句
5. 坚持使用存储过程来验证用户输入
6.在多层环境中,所有数据都应该在验证之后才允许进入可信区域
7.限制网站应用或者网页只能执行拥有执行存储过程的权限,不能直接读写SQL表和视图。同时刪除不必要的系統的存储过程,另外加上数据库操作日志。
三:防止假冒Referer
四:不用GET,而用POST
五:服务器不能接受用户上传的文件名
六:防止CC攻击,可以启用IP验证或session验证
第二部分:网站服务器和网络安全
上面几个楼都涉及了,我这就不重复了
[
本帖最后由 smilehe 于 2008-5-20 14:22 编辑 ]