|M| 对SQL字符过行转换的不明白
text = text.Replace( "\ " ", "" ");
text = text.Replace( "; ", " ' '; ' ' ");
text = text.Replace( " ' ", " ' ' ");
text = text.Replace( "-- ", " ' '-- ' ' ");
这是我看别人查询数据库时对语句的转换
但是要是这样写查询的话那我如我的表
ID User Pass
9--a0486ff05530df6c2
10:903f6d77e456892f3
11\9d8a121ce581499d1
12 'df80460f382095661
我要分别查出这里面的记录的话用 where User=??
这种方法的话那不是查不出来
我个人认为是不是text = text.Replace( " ' ", " ' ' ");
有这一种就行了
大家说说看法
[解决办法]
用sqlcommand的参数就不用考虑这些了
[解决办法]
用户名可以允许这么多怪异的字符?
[解决办法]
有这样的用户名:)
[解决办法]
他应该是过滤掉一些SQLSERVER的注入式攻击的作用,用sqlcommand也可以达到他的目的
[解决办法]
建议用sqlcommand
[解决办法]
哎 现在还在 回车键 徘徊呢 真是的 郁闷
[解决办法]
[解决办法]
查询的话
先把查询的条件的值也转换了,再拼sql语句。
[解决办法]
注意不要循环的转化了。
比如;-> "-> ""这样的问题
[解决办法]
防止sql注入用的,可以用代入参数而不是直接拼接sql命令。