放心。很好防止的,你这么做就已经很保险了,SQL注入对Asp.Net效果越来越不行了
解决方案 »
- 求助!asp.net页面中文都显示为乱码
- 请问 如何 将自己的 SQL语句 绑定到DataList中
- 为什么网站会不定时的出现莫名其妙的错误
- 关于asp.net里文件结构,使用vs.net 2003开发时产生了那么多文件,这些文件是用来干什么用的?
- 缓存及时更新
- 小白二号提问:visual studio 2005 中asp.net网站 calendar控件的vb脚本问题
- 都dataGrid1.DataKeys[0]了还索引超出范围?
- 怎么从DetailsView中读取一行数据,并且在页面上显示出来?
- 拜托你们!HTML标签中的内容如何读取???
- 急,一个验证的问题,困扰了很久,大家帮帮忙(在线等)
- 数据是从数据库中读出,怎样获取下拉列表框中的ID
- server error in'/'application 用户'XXXX'登录失败??
不要用+拼接字符串,用参数的方式
替换用户输入的字符串中'和一些数据库关键字,如exec ==
限制长度还有就是验证码控件.防止一次性注册很多.因为如果他们不够长的话,就减少了贴入大量脚本的可能性。
防止用户输入过长的字符.textbox.maxlength().
限制错误信息给出的提示比如捕获到异常时,只显示一些通用的信息比如"数据源错误",而不是显示"exception.message"的信息,它可能会暴露出你系统的攻击点.
还有就是要小心的去掉特殊字符.
可以将单引号替换为2个单引号.
还有就是使用参数化命令啊,用存储过程执行转换来防止啊
限制用户访问数据库的帐号的权限啊.
另外不要在用户输入的过程中构造WHERE子句,最好利用参数来使用存储过程。