楼主是在讲.net中防止SQL注入吧?

解决方案 »

  1.   

    对啊~我的数据库被注了好几次了,郁闷比如说,第8条,为什么要尽量避免使用Request()接收数据
      

  2.   

    总结一下我对特殊字符处理的经验吧: 1. 对接收到的数据类型进行验证; 
    2. 尽量通过存储过程对数据库进行操作; 
    3. 如上一点不可行,尽量使用AddNew方法写库; 
    4. 对作为查询条件的数据,使用自定义函数SQLEncode()转换单引号; 
    5. 表单控件的值,一定要用双引号引起来; 
    6. 在表单控件中显示数据时,使用server.HTMLEncode()方法转换字符; 
    7. 对于通过textarea提交的数据,使用自定义函数HTMLEncode()转换字符并保持格式; 
    8. 尽量避免使用Request()接收数据,应使用Request.Form()或Request.QueryString(); 
    9. 尽量避免通过URL传递字符参数(只用此方式传递数值参数) 1.主要目的是防注入.
    2.一方面可以防注入,另一方面是性能提高.
    3.还是为了防注入.
    4.还是为了防注入.
    5.为了防止空格.
    6.防止特殊字符,忘记是哪个了,遇到过一次
    7.html转换
    8.直接指定接收方式比让server去遍历性能更好,也安全
    9.安全
    这些ms基本全是asp要注意的.因为大多数写asp的是用vbscript这类非强类型脚本语言.