我现在在做一个用户登陆程序,所以会用到防止注入的代码,把我用的资料贴出来给大家分享.
SQL注入式攻击是指利用设计上的漏洞,在目标服务器上运行Sql命令以及进行其他方式的攻击,动态生成Sql命令时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因。
比如:
如果你的查询语句是select * from admin where username=''''"amp;useramp;"'''' and password=''''"amp;pwdamp;"''''"
那么,如果我的用户名是:1'''' or ''''1''''=''''1
那么,你的查询语句将会变成:
select * from admin where username=''''1 or ''''1''''=''''1'''' and password=''''"amp;pwdamp;"''''"
这样你的查询语句就通过了,从而就可以进入你的管理界面。
所以防范的时候需要对用户的输入进行检查。特别是一些特殊字符,比如单引号,双引号,分号,逗号,冒号,连接号等进行转换或者过滤。
需要过滤的特殊字符及字符串有:
net user
xp_cmdshell
/add
exec master.dbo.xp_cmdshell
net localgroup administrators
select
count
Asc
char
mid
''''
:
"
insert
delete from
drop table
update
truncate
from
%
js版的防范SQL注入式攻击的两段代码~:
[CODE START]
|
【声明】 地球黑匣子网刊载的资讯及其他内容均由网友提供分享
并且纯属作者个人观点,不表示地球黑匣子网同意其说法或描述,仅为提供更多信息,也不构成任何建议。网友转载请注明原作者姓名及出处。如有侵犯到您的版权,请与我们联系,我们会马上进行重新整理!
|
|