首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

sql注入有关问题

2012-01-10 
sql注入问题大家都说用参数的方法可以防sql注入,但是不知原理,请大家指教。还有asp.net里添加参数的方法有

sql注入问题
大家都说用参数的方法可以防sql注入,但是不知原理,请大家指教。
还有asp.net里添加参数的方法有几个重载。我用最简单的一种(就是不指定类型和长度)可以防注入么?如下:
...
com=new   SqlCommand();
...
com.Parameters.Add(参数名,参数值);

[解决办法]
一般用参数查询就可以防止注入攻击了
[解决办法]
比如你判断用户是否可以登陆的存储过程
select count(*) from User where Name = @name and pwd = @pwd
如果返回1就可以登陆 0就不能对登陆

如果这个时候的@name的值是 '用户名-- '或者 ' or 1=1-- ' 那样只要知道用户名 不用密码也可以登陆
所以尽量把存储过趁感谢复杂点
[解决办法]
http://hi.baidu.com/simliving/blog/item/df62172441eade32c995597b.html

http://hi.baidu.com/simliving/blog/item/27d2898feaa10ffb503d9244.html

http://hi.baidu.com/simliving/blog/item/d3ea43b5bba712cf37d3ca44.html

这三篇文章写的不错,建议楼主看一下
[解决办法]
将 '替换为 "
再将- 替换为 -

就能防止sql注入了


[解决办法]
比如你判断用户是否可以登陆的存储过程
select count(*) from User where Name = @name and pwd = @pwd
如果返回1就可以登陆 0就不能对登陆

如果这个时候的@name的值是 '用户名-- '或者 ' or 1=1-- ' 那样只要知道用户名 不用密码也可以登陆
所以尽量把存储过趁感谢复杂点
----------------------
注入攻击不只是 '用户名-- '或者 ' or 1=1-- ' 这样
[解决办法]
学习!
[解决办法]
还是用参数好
[解决办法]
建议把所有对数据库的增删改操作都用存储过程做 这样最安全也最省心 赫赫
[解决办法]
也不知道参数的原理
[解决办法]
学习
[解决办法]
还是用参数好
[解决办法]
重的地方用参数就好,还管他是怎样实现的呢?

如果我自己做的话,那就是把所有存在危险的字符替换掉.也是可行了
[解决办法]
用参数一般就不会被注入了吧!
存储过程难得找存储过程名!
[解决办法]
存储过程是预编译的,所以是可以防治SQL注入攻击的
[解决办法]
http://blog.csdn.net/bakers/archive/2007/02/01/1500399.aspx
http://blog.csdn.net/bakers/archive/2007/02/01/1500029.aspx

热点排行