2004-10-26+ 用户输入的安全问题
2006-07-03 18:43
267 查看
最近在看一本叫《asp.net安全性高级编程》,把一些感兴趣的东西写成笔记当到这里吧,今天这一篇主要是讲怎么防御注入攻击的。
script injection
1.验证内容
a.使用regularexpressionvalidator的正则表达式来限制用户输入
2.筛选用户输入
a.使用string.replace方法
这个方法在petshop3.0中就有使用,就是把一些危险的符号(比如<>[]等)替换成安全的。
3.编码输入内容
a.使用server.encode来编码有害字符,防止这些标记在客户端执行
sql injection
a.使用string.length来限制用户的输入长度
b.使用ado.net的command对象的参数集合
隐藏窗体字段
a.始终使用sessioin检查用户是否有一个有效的会话
b.不在hidden中保存任何敏感信息
c.想办法处理hidden中的字段被删除的情况
d.在客户端检查参数的长度和数据类型
e.在服务器端重新进行验证
URL篡改
a.URL变体
为防止URL篡改,编码URL是比较明智的做法。我们可以创建一个简单的编码方法,然后利用它来读取URL中的值,创建一个编码的字符串并回传这个编码的URL字符串,接收的时候在对其解码,然后使用。
防止信息泄露
a.控制错误信息。做好异常处理
b.禁用调试和跟踪
script injection
1.验证内容
a.使用regularexpressionvalidator的正则表达式来限制用户输入
2.筛选用户输入
a.使用string.replace方法
这个方法在petshop3.0中就有使用,就是把一些危险的符号(比如<>[]等)替换成安全的。
3.编码输入内容
a.使用server.encode来编码有害字符,防止这些标记在客户端执行
sql injection
a.使用string.length来限制用户的输入长度
b.使用ado.net的command对象的参数集合
隐藏窗体字段
a.始终使用sessioin检查用户是否有一个有效的会话
b.不在hidden中保存任何敏感信息
c.想办法处理hidden中的字段被删除的情况
d.在客户端检查参数的长度和数据类型
e.在服务器端重新进行验证
URL篡改
a.URL变体
为防止URL篡改,编码URL是比较明智的做法。我们可以创建一个简单的编码方法,然后利用它来读取URL中的值,创建一个编码的字符串并回传这个编码的URL字符串,接收的时候在对其解码,然后使用。
防止信息泄露
a.控制错误信息。做好异常处理
b.禁用调试和跟踪
相关文章推荐
- 关于用户输入的安全问题
- mysql安全问题(匿名用户)的一点心得
- PHP安全编程:过滤用户输入
- web开发安全守则之永远不要相信用户的输入
- asp.net2.0用户角色安全问题
- 用户安全登录问题
- DataGridViewComboBoxColumn 可以让用户输入并自动匹配选项的问题 [问了很多人,找了很多站都没得到答案,所以只好放首页,请管理员体谅.谢谢!]
- Oracle解决关于密码输入错误也能进system,sys用户的问题
- 利用POST进行用户登录的安全问题剖析
- 本地 push 到github 每次都需要输入用户密码问题
- 今天碰到一个问题,怎么限制用户在固定宽度的input输入框里输入的长度,由此涉猎到了maxlength属性和size属性以及它们的区别。
- 用ewebeditor的用户注意了,请检查安全问题
- PHP安全编程:过滤用户输入
- 宽带用户需注意的网络安全问题
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序(约瑟夫环问题)
- sqlserver 用户、账号、安全等问题小汇
- 以不同用户身份运行程序,/savecred只需要输入一次密码(GetTokenByName取得EXPLORER.EXE的令牌,然后调用CreateProcessAsUser,而且使用LoadUserProfile解决另存文件的问题)good
- 用户输入验证码问题
- 用户输入的多次提交引发问题
- 互动交流:移动系统安全研究专题及用户关心的焦点问题调研