浏览:14852007-11-15 10:19   来自黄友涛      :

谁知道在asp.net中有些什么好的方法预防sql注入?
网站除了sql注入还有哪些威胁?怎么预防?

期待ing……。

楼主
  8个月前   AndyFish      :
呵呵,不会是 手绢吧
回复  1楼 回到顶楼 
  8个月前   Wilensky      :
使用存储过程替代在代码中写sql语句。另外你链接数据库的用户要做权限限制。够用就行。对用户输入的信息进行过滤。其他的威胁什么跨站攻击了,就不是很了解了。不过.net的安全性能还是很不错的
回复  2楼 回到顶楼 
  8个月前   Ariel Y.      :
防SQL注入很简单:参数化查询,完毕,没有更多的。

未过滤输入信息导致的跨站攻击是另外的东西
回复  3楼 回到顶楼 
  8个月前   黄友涛      :
我现在的做法就是过滤特殊字符,不过感觉挺麻烦的,所以想找个简单、方便、实用的方法。
回复  4楼 回到顶楼 
  8个月前   坚持信念      :
参数化查询是最简单有效的办法~~~而且还同时解决了一些特殊字符的问题~~

此外,还可以对TextBox做适当的长度限制,不过,有了上面那个办法,这个就没有多大必要了(当然,可以用来向用户提示“您输入的XX过长”)

对于防注入实际上做到参数化就可以了~~~但如果人家用旁注的,你还是只能傻眼~~~
回复  5楼 回到顶楼 
  8个月前   萧寒      :
参数化查询的好处多多
回复  6楼 回到顶楼 
  8个月前   John-zhaohui      :
我使用过的一般都是参数化查询,其他如过滤特殊字符等也有用过,那是做java的时候。
回复  7楼 回到顶楼 
  8个月前   lastgame      :
使用存储过程
回复  8楼 回到顶楼 
  8个月前   亚历山大同志      :
除了参数化,就是严格限制每一个参数的长度,姓名只需要5位就不要允许5以上的字符进去。
回复  9楼 回到顶楼 
  8个月前   坚持信念      :
@亚历山大同志

我曾经做了一个考试系统,满以为20位足够了
天晓得,系统一上线就来了一个中东的考生………………囧rz
回复  10楼 回到顶楼 
  8个月前   坚持信念      :
补充一下:

我说的是姓名,因为中国的考试要用汉语的姓名,外国人没有汉语名字的就用音译的
回复  11楼 回到顶楼 
  8个月前   Zhuang miao      :
使用参数查询
回复  12楼 回到顶楼 
  8个月前   Eric Zhang      :
三个方法:
1.字符过滤,在global.asax.cs中的Application_BeginRequest中加入相应的过滤方法;
2.sql查询中使用参数查询;
3.使用存储过程。
回复  13楼 回到顶楼 
  8个月前   Ariel Y.      :
@亚历山大同志

进入了也不会如何吧?SQL Server会自动截断
回复  14楼 回到顶楼 
  8个月前   棠棠dotNet      :
有些页面还要过滤jscript,有些人在填写表单时会故意加些jscript让你的页面布局变形或出错。
回复  15楼 回到顶楼 
  8个月前   陈思涵      :
一般都用存储过程,或者 sql查询中使用参数查询
回复  16楼 回到顶楼 
  8个月前   网魂小兵      :
参数化SQL语句,并且不要使用组合SQL语句,这样就不可能被注入了。
如果在存储过程中使用组合SQL语句还是有可能被注入的...
回复  17楼 回到顶楼 
  8个月前   烟头上的探戈      :
下载个sql注入工具,自己找漏洞后修补了!呵呵!
回复  18楼 回到顶楼 
  6个月前   HappyQQ      :
回复  19楼 回到顶楼 
  6个月前   Zeng      :
@lastgame
使用存储过程
------
使用存储过程并不一定能够防止注入。
回复  20楼 回到顶楼 
  6个月前   KENNETHBYRON      :
参数check啊!~
对拼接进SQL的所有字符进行数据类型的检查.内容检查
回复  21楼 回到顶楼 
  6个月前   小哈      :
回复  22楼 回到顶楼 
  6个月前   Dove.Net      :
参数化查询就不会出这种问题了
参数化查询也是一种好惯
回复  23楼 回到顶楼 
  6个月前   红尘中迷茫      :
参数化查询,如果需要数据库移植怎么办?
回复  24楼 回到顶楼 
  5个月前   迷路中的路人甲      :
其他数据库也是支持参数化查询的。而且最好不要想一套系统支持n种数据库了。那样数据的效率以及维护都很有问题的。
回复  25楼 回到顶楼 
  5个月前   Leem      :
个人感觉参数化查询并不是一种灵活的方法,可以考虑在页面的基类里,用迭代的方法过滤掉所有request.post以及cookie中的非法字符,个人感觉这是一种非常通用和灵活的方式.至于性能上应该不会有什么大问题.
回复  26楼 回到顶楼 
  5个月前   leonardleonard      :
学习乐,参数化和过滤字符是主要的方法。
回复  27楼 回到顶楼 

你还不是小组成员,加入小组以后才能发布新主题!
1 24343