来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 2、处理用户的输入我们要这样认为,所有的用户输入都不可信。如何安全地处理用户输入是防御攻击的一个很关键的要求。一般的WEB程序都会在前台页面做输入确认(一般是js验证),...
2、处理用户的输入 我们要这样认为,所有的用户输入都不可信。如何安全地处理用户输入是防御攻击的一个很关键的要求。一般的WEB程序都会在前台页面做输入确认(一般是js验证),不过这些都可以很简单的被攻击者绕过。
②只接受已知的正常输入,即设置白名单。白名单虽然确实有效,但是许多情况下不满足我们的需求。 ③净化。这种方法是指WEB程序接收用户的输入,然后在后台对用户的输入进行净化。数据中可能存在的恶意字符被删除或者进行编码、转义。这种方法一般很有效,也被广泛使用。如:如果要防御xss攻击(关于xss攻击,参看:www.2cto.com/Article/201209/153264.html ),对用户的输入进行html编码,将>字符编码为>。虽然进行了转义和编码,但是对于在一个输入项中容纳集中可能的恶意数据,还是有可能产生攻击行为。 ①WEB程序收到用户的登陆信息,表单处理程序净化掉里面的非法字符,确认输入符合要求。 ②WEB程序查询数据库获取用户密码。为防止sql注入(关于sql注入,参见:http://www.2cto.com/Article/201209/153277.html),在执行sql前,要对用户输入中包含的可用于攻击数据库的所有字符进行转义。 ③用户登录成功,WEB程序将用户资料传给后台的soap服务,进一步获取用户的信息。为了防止对soap的注入攻击,需要对用户的输入进行任何xml元字符进行编码。 ④WEB程序在用户的浏览器中显示用户的账户信息,为防止xss攻击,WEB程序对返回页面中用户提交的数据都要进行html编码。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com