注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 模拟Linux客户端远程登陆L..
 帮助

WEB应用数据验证指南


2008-01-04 15:14:51
版权声明:原创作品,谢绝转载!否则将追究法律责任。
WEB应用数据验证指南
 
1.为什么要验证数据?
如果不验证数据,容易导致WEB应用出现多种漏洞,比如:SQL注入攻击,命令注入攻击,跨站点脚本攻击,编码攻击,文件系统攻击和缓冲区溢出。因此,为了保护WEB应用的安全,我们必须验证数据。
2.什么地方需要验证数据?
 所有从用户或其它设备接受数据的代码部分。
3.什么数据需要验证?
HTTP头部,cookies,session,查询字符串,表格字段,和隐藏字段等。
4.怎样验证数据?
4.1 验证策略
按顺序选择使用下面的四种策略:
n 接受正确的数据:如果知道某个数据的所有特点,就可以只接受具有所有这些特点的数据。比如对手机号码的验证就可以使用本方法。
n 拒绝错误的数据:如果知道具有某些特点的数据是错误的,就可以明确拒绝具有这些特点的数据。
n 规范化数据:对数据进行分析,去掉有问题的部分,并进行适当的修改和转换,从而将其转化为正确的数据。
n 不作验证数据:  万不得已才不验证数据。
4.2验证方法
n 检查数据类型;
n 检查字符型数据的长度范围;
n 检查数值型数据的大小范围;
n 验证数据来源进行, 防止跨站攻击也可以在APACHE配置文件里面做);
n 过滤掉下面的特殊字符或为其编码:
Character
Encoding
<
&lt;   or &#60;
>
&gt;   or &#62;
&
&amp;  or &#38;
"
&quot; or &#34;
'
&#39;
(
&#40;
)
&#41;
#
&#35;
%
&#37;
 ;
&#59;
+
&#43;
-
&#45;
 
n 尽可能使用存储过程操作后台数据库;
n 在生成SQL语句的地方:
Ø 过滤掉输入变量中的双引号和单引号;
Ø 过滤常用sql 关键字;
Ø 对于数值型字段变量,验证其值确实是数字;
n 适当使用图片验证;
n 验证数据操作的权限;
 

本文出自 “邹可见” 博客,谢绝转载!





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: