由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
学习视频中讲到,通过在代码文件中开发人员自己编写数据库写入数据的方法,然后调用方法,可以避免别人通过数据库注入的方法登陆到网站后台。
比如:’or’=’or’ 这是一个可以直接连接SQL的语句,可以直接进入后台,类似的还有:
‘or’ ‘ =’
“or” a” =” a
‘ ) or (‘ a’ = ‘ a
“) or (“ a” = “a
Or 1=1—
‘ or’ a’ = ‘a
我的问题是,有没有能够过滤全部全部可能的代码?如果没有的话怎么解决这种数据库注入的攻击行为?
你把这样传的过滤掉,别去直接拼接SQL不就行了
恩恩Q!不用字符串拼接,可以使用Prarmeter对象,通过设置参数@UserName和@PassWord,通过它把参数添加到Command对象上,