包括引号,括号,#,|,-,@,*,/,这样能防止SQL注入么
如果所有关键字都过滤,确实可以。既然没有关键字,那么传入的参数只是个字符串,没有其他的效果了。
但是,这是不可能的,有些时候你不得不用到一些关键字,比如密码[这里面肯定会含有特殊字符的]
建议:采用参数化的赋值方式
我们实际做的是尽可能避免参数注入,绝对安全的程序是不存在的,只有尽可能的安全。
但是,这是不可能的,有些时候你不得不用到一些关键字,比如密码[这里面肯定会含有特殊字符的]
建议:采用参数化的赋值方式
我们实际做的是尽可能避免参数注入,绝对安全的程序是不存在的,只有尽可能的安全。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-10-08
理论是可以的。
第2个回答 2014-02-22
简单点的方法你应该写成:
Select * From xxTb Where ColA=@ColA;
然后用户的输入值通过参数(SqlParamter)@ColA传进来,这样你的语句基本是完整的了,这个事相当于由MS来帮你做。
希望对你有帮忙,欢迎追问。
Select * From xxTb Where ColA=@ColA;
然后用户的输入值通过参数(SqlParamter)@ColA传进来,这样你的语句基本是完整的了,这个事相当于由MS来帮你做。
希望对你有帮忙,欢迎追问。