上一篇:asp提高首页性能的一个技巧 >>
该文件可以包含在任何需要调用数据库的ASP文件头部,直接过虑掉非法注入
‘’调用方法为:<!-- #include file="safe.asp" -->
Function Safe(str)‘’该函数用来判断传递过来的变量是否包含特殊字符,没有返回TRUE
Dim s_BadStr, n, i
s_BadStr = "‘’ &<>?%,;:()`~!@#$^*{}[]|\/+-="&Chr(34)&Chr(9)&Chr(32)
n = Len(s_BadStr)
Safe = True
For i = 1 To n
If Instr(str, Mid(s_BadStr, i, 1)) > 0 Then
Safe = False
Exit Function
End If
Next
End Function
‘’以下代码直接判断发生请求的URL是否包含非法字符
On Error Resume Next
Dim strTemp
If LCase(Request.ServerVariables("HTTPS")) = "off" Then
strTemp = "http://"
Else
strTemp = "https://"
End If
strTemp = strTemp & Request.ServerVariables("SERVER_NAME")
If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & Request.ServerVariables("SERVER_PORT")
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,"db_name(") or Instr(strTemp,"net%20user") or Instr(strTemp,"‘’") or Instr(strTemp,"%20or") or Instr(strTemp,"backup%20") then
Response.Write "<script language=‘’javascript‘’>"
Response.Write "alert(‘’非法地址!!‘’);"
Response.Write "location.href=‘’http://www.myzone.cn‘’;"
Response.Write "</script>"
End If
For Each name In Request.Form
Dim s_BadStr, s_Sz, i
s_BadStr = "‘’|and|select|update|chr|delete|from|;|insert|mid|master.|truncate|db_name|xp_cmdshell|exec%20master|net%20localgroup%20administrators|drop|table|db_name(|exec"
s_Sz = split(s_BadStr,"|")
For i = 0 To ubound(s_Sz)
If Instr(Request.Form(name), s_Sz(i)) > 0 Then
Response.Write "<script language=‘’javascript‘’>"
Response.Write "alert(‘’非法地址!!‘’);"
Response.Write "location.href=‘’http://www.myzone.cn‘’;"
Response.Write "</script>"
End If
Next
next
%>
下一篇:如何用请求字符串传值给用模式窗口打开的aspx页面 >>
相关文章:
- · 二级域名原理以及程序,申请即可开通
- · asp模仿 Lotus Notes 的界面程序
- · 使用正则表达式实现模式图片新闻.ASP
- · 使用ASP实现广告代理
- · 如何记录访问者IP地址
- · ASP包含文件方法详解
- · 如何使用ASP制作类似安装向导的页面?
- · 简单验证码的生成及显示
- · IIS 6 常见问题解答
- · 一个动态编译的例子
- · ASP、JSP、PHP 三种技术比较
- · 改进性能和样式的 24个 ASP 技巧
- · asp 与 asp.net 共享session
- · ASP中一个字符串处理类加强版
- · 用asp自动解析网页中的图片地址,并将其保存到本地服务器
- · 自动适应输入内容高度的TextBox控件(摘自罗永浩全集)
- · 常用ASP自定义函数集 (S.Sams)
- · Session登陆后丢失的解决办法
- · DHTML+XML+ASP+CSS=树形目录
- · 使用Web标准建站第11天:不用表格的菜单
- · 使用Web标准建站第10天:自适应高度
- · 使用Web标准建站第9天:CSS布局入门
- · 使用Web标准建站第8天:CSS布局入门
- · 使用Web标准建站第7天:CSS入门
- · 使用Web标准建站第4天:调用样式表
- · 使用Web标准建站第3天:定义语言编码
- · 使用Web标准建站第2天:什么是名字空间
- · 使用Web标准建站第1天:选择什么样的DOCTYPE
- · asp 读取网卡mac地址
- · 改进性能和样式的 24个 ASP 技巧
- · 用python实现面向对像的ASP程序
- · 代码发布!两个小函数让你的ASP程序对SQL注入免疫!
- · 编写高性能 Web 应用程序的10个技巧
- · 动态的二级伸缩式的菜单,asp编写
- · 在ASP中使用断开的记录集
- · 动态网站首页的静态生成方法
- · 编写高性能WEB 应用程序的10 个技巧
- · 编程取得Google的PageRank3及所在目录
