简单的ASP防注入代码 360
使用方法如下:
1. 把以下代码保存为_safe.asp,然后放到站点根目录即可。
<%
On Error Resume Next
if request.querystring<>"" then call stophacker(request.querystring,"'|(alert|confirm|prompt)|<[^>]*?>|^+/v(8|9)|onmouse(over|move)=|(and|or).+?(>|<|=|in|like)|/*.+?*/|
if Request.ServerVariables("HTTP_REFERER")<>"" then call test(Request.ServerVariables("HTTP_REFERER"),"'|(and|or).+?(>|<|=|in|like)|/*.+?*/|
if request.Cookies<>"" then call stophacker(request.Cookies,"(and|or).{1,6}?(=|>|<|in|like)|/*.+?*/|
call stophacker(request.Form,"^+/v(8|9)|(and|or).{1,6}?(=|>|<|in|like)|/*.+?*/|
如果您的问题还未解决可以联系站长付费协助。
function test(values,re)
dim regex
set regex=new regexp
regex.ignorecase = true
regex.global = true
regex.pattern = re
if regex.test(values) then
IP=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then
IP=Request.ServerVariables("REMOTE_ADDR")
end if
'slog("
操作IP: "&ip&"
操作时间: " & now() & "
操作页面:"&Request.ServerVariables("URL")&"
提交方式: "&Request.ServerVariables("Request_Method")&"
提交参数: "&l_get&"
提交数据: "&l_get2)
操作IP: "&ip&"
操作时间: " & now() & "
操作页面:"&Request.ServerVariables("URL")&"
提交方式: "&Request.ServerVariables("Request_Method")&"
提交参数: "&l_get&"
提交数据: "&l_get2)
Response.Write("
您的提交带有不合法参数,谢谢合作!
")
您的提交带有不合法参数,谢谢合作!
Response.end
end if
set regex = nothing
end function
function stophacker(values,re)
dim l_get, l_get2,n_get,regex,IP
for each n_get in values
for each l_get in values
l_get2 = values(l_get)
set regex = new regexp
regex.ignorecase = true
regex.global = true
regex.pattern = re
if regex.test(l_get2) then
IP=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then
IP=Request.ServerVariables("REMOTE_ADDR")
end if
'slog("
操作IP: "&ip&"
操作时间: " & now() & "
操作页面:"&Request.ServerVariables("URL")&"
提交方式: "&Request.ServerVariables("Request_Method")&"
提交参数: "&l_get&"
提交数据: "&l_get2)
操作IP: "&ip&"
操作时间: " & now() & "
操作页面:"&Request.ServerVariables("URL")&"
提交方式: "&Request.ServerVariables("Request_Method")&"
提交参数: "&l_get&"
提交数据: "&l_get2)
Response.Write("
您的提交带有不合法参数,谢谢合作!
")
您的提交带有不合法参数,谢谢合作!
Response.end
end if
set regex = nothing
next
next
end function
sub slog(logs)
dim toppath,fs,Ts
toppath = Server.Mappath("/index.asp")
Set fs = CreateObject("scripting.filesystemobject")
If Not Fs.FILEEXISTS(toppath) Then
Set Ts = fs.createtextfile(toppath, True)
Ts.close
end if
Set Ts= Fs.OpenTextFile(toppath,8)
Ts.writeline (logs)
Ts.Close
Set Ts=nothing
Set fs=nothing
end sub
%>
2.在所需要防护的页面加入代码
就可以做到页面防注入、跨站。
如果想整站防注,就在网站的一个公用文件中,如数据库链接文件conn.asp中!
添加来调用本代码,赶快去试试吧!
如果您的问题还未解决可以联系站长付费协助。
有问题可以加入技术QQ群一起交流学习
本站vip会员 请加入无忧模板网 VIP群(50604020) PS:加入时备注用户名或昵称
普通注册会员或访客 请加入无忧模板网 技术交流群(50604130)
客服微信号:15898888535
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若内容侵犯了原著者的合法权益,可联系站长删除。
热门
应用市场
-
¥50 pbootcms副栏目多选功能 默认只能多选一个 此插件可多选多个栏目
2024-05-10
-
¥300 pbootcms插件 附件阿里云OSS直传适合大文件视频类
2024-05-10
-
¥100 根据标题生成图片,文章页自动配标题配图,避免版权问题,所有cms通用php
2024-05-10
-
¥100 采集文章自动推送百度插件 PHP插件支持推送百度当天文章
2024-05-10