欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【防范sql注入式攻击js版本】,下面是详细的分享!
防范sql注入式攻击js版本
SQL注入式攻击是利用是指利用设计上的漏洞,在目标服务器上运行Sql命令以及进行其他方式的攻击 。
动态生成Sql命令时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因。
比如:
如果你的查询语句是select * from admin where username=''"&user&"'' and password=''"&pwd&"''" 那么,如果我的用户名是:1'' or ''1''=''1
那么,你的查询语句将会变成:
select * from admin where username=''1 or ''1''=''1'' and password=''"&pwd&"''"
这样你的查询语句就通过了,从而就可以进入你的管理界面。
所以防范的时候需要对用户的输入进行检查。特别式一些特殊字符,比如单引号,双引号,分号,逗号,冒号,连接号等进行转换或者过滤。
需要过滤的特殊字符及字符串有:
|
以下为引用的内容: net user |
下面是我写的两种关于解决注入式攻击的防范代码,供大家学习参考!
js版的防范SQL注入式攻击代码:
|
以下为引用的内容: <script language="****"> |
asp版的防范SQL注入式攻击代码~:
| 以下为引用的内容: <% On Error Resume Next Dim strTemp If LCase(Request.ServerVariables("HTTPS"))="off" Then strTemp=strTemp & Request.ServerVariables("SERVER_NAME") strTemp=strTemp & Request.ServerVariables("URL") If Trim(Request.QueryString) <> "" Then strTemp=strTemp & "?" & Trim(Request.QueryString) strTemp=LCase(strTemp) If Instr(strTemp,"select%20") or Instr(strTemp,"insert%20") or Instr(strTemp,"delete%20from") or Instr(strTemp,"count(") or Instr(strTemp,"drop%20table") or Instr(strTemp,"update%20") or Instr(strTemp,"truncate%20") or Instr(strTemp,"asc(") or Instr(strTemp,"mid(") or Instr(strTemp,"char(") or Instr(strTemp,"xp_cmdshell") or Instr(strTemp,"exec%20master") or Instr(strTemp,"net%20localgroup%20administrators") or Instr(strTemp,":") or Instr(strTemp,"net%20user") or Instr(strTemp,"''") or Instr(strTemp,"%20or%20") then |
以下是较为简单的防范方法,这些都是大家比较熟悉的方法,希望能给你一点帮助~
主要是针对数字型的变量传递:
id=Request.QueryString("id")
If Not(isNumeric(id)) Then
Response.Write "非法地址~"
Response.End
End If
以上所分享的是关于防范sql注入式攻击js版本,下面是编辑为你推荐的有价值的用户互动:
相关问题:什么叫sql注入式攻击,如何防止sql注入式攻击
答:所谓注入式攻击,就是客户通过输入使sql语句变成 where id= "kllsld " and password= "lll " or 1=1 这种句子。 要防止注入式攻击,可以使用存储过程,也可以采用参数的方法 如select id,name,password from czy where id=@IdName and password=... >>详细
相关问题:怎样可以是网站更好防止SQL注入式攻击
答:首先是程序员要养成防止SQL注入的习惯,所有由客户端提交或传入的数据都需要进行验证 使用最小权限原则,无论是操作系统还是数据库,网站运行的帐号是其能够完成 其操作的最小权限,这样可以大大降低被攻击的损失。 发布前用专业的安全评测软件... >>详细
相关问题:怎样可以是网站更好防止SQL注入式攻击
答:最好的方法是用存储过程来完成数据库结构其他方法就只能在程序中添加防注入程序 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
