NoHackSql.Asp
上传用户:mtjhgs
上传日期:2021-12-08
资源大小:3755k
文件大小:4k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

HTML/CSS

  1. <%
  2. If EnableStopInjection = True Then
  3. '--------数据库连接部分--------------
  4. dim dbkillSql,killSqlconn,connkillSql
  5. 'On Error Resume Next
  6. Set killSqlconn = Server.CreateObject("ADODB.Connection")
  7. connkillSql="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(SysRootDir&SiteDataPath)
  8. killSqlconn.Open connkillSql
  9. If Err Then
  10. err.Clear
  11. Set killSqlconn = Nothing
  12. Response.Write "数据库连接出错,请检查连接字串。"
  13. Response.End
  14. End If
  15. '--------定义部份------------------
  16. Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr,WriteSql
  17. '自定义需要过滤的字串,用 "|" 分隔
  18. Fy_In = "'|;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
  19. WriteSql=True
  20. '----------------------------------
  21. Fy_Inf = split(Fy_In,"|")
  22. '--------POST部份------------------
  23. If Request.Form<>"" Then
  24. For Each Fy_Post In Request.Form
  25. For Fy_Xh=0 To Ubound(Fy_Inf)
  26. If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
  27. If WriteSql=True Then
  28. killSqlconn.Execute("insert into Wygkcnflash_NoHackSql(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','POST','"&Fy_Post&"','"&replace(Request.Form(Fy_Post),"'","''")&"')")
  29. killSqlconn.close
  30. Set killSqlconn = Nothing
  31. End If
  32. Response.Write "<Script Language=JavaScript>alert('SQL防注入系统提示你↓nn请不要在参数中包含非法字符尝试注入!');</Script>"
  33. Response.Write "非法操作!系统做了如下记录↓<br>"
  34. Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
  35. Response.Write "操作时间:"&Now&"<br>"
  36. Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
  37. Response.Write "提交方式:POST<br>"
  38. Response.Write "提交参数:"&Fy_Post&"<br>"
  39. Response.Write "提交数据:"&Request.Form(Fy_Post)
  40. Response.End
  41. End If
  42. Next
  43. Next
  44. End If
  45. '----------------------------------
  46. '--------GET部份-------------------
  47. If Request.QueryString<>"" Then
  48. For Each Fy_Get In Request.QueryString
  49. For Fy_Xh=0 To Ubound(Fy_Inf)
  50. If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
  51. If WriteSql=True Then
  52. killSqlconn.Execute("insert into Wygkcnflash_NoHackSql(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','GET','"&Fy_Get&"','"&replace(Request.QueryString(Fy_Get),"'","''")&"')")
  53. killSqlconn.close
  54. Set killSqlconn = Nothing
  55. End If
  56. Response.Write "<Script Language=JavaScript>alert('SQL防注入系统提示你↓nn请不要在参数中包含非法字符尝试注入!');</Script>"
  57. Response.Write "非法操作!系统做了如下记录↓<br>"
  58. Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
  59. Response.Write "操作时间:"&Now&"<br>"
  60. Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
  61. Response.Write "提交方式:GET<br>"
  62. Response.Write "提交参数:"&Fy_Get&"<br>"
  63. Response.Write "提交数据:"&Request.QueryString(Fy_Get)
  64. Response.End
  65. End If
  66. Next
  67. Next
  68. End If
  69. If Kill_IP=True Then
  70. Dim Sqlin_IP,rsKill_IP,Kill_IPsql
  71. Sqlin_IP=Request.ServerVariables("REMOTE_ADDR")
  72. Kill_IPsql="select Sqlin_IP from Wygkcnflash_NoHackSql where Sqlin_IP='"&Sqlin_IP&"' and kill_ip=true"
  73. Set rsKill_IP=killSqlconn.execute(Kill_IPsql)
  74. If Not(rsKill_IP.eof or rsKill_IP.bof) Then
  75. Response.write "<Script Language=JavaScript>alert('SQL防注入系统提示你↓nn你的Ip已经被本系统自动锁定!nn如想访问本站请和管理员联系!');</Script>"
  76. Response.End
  77. End If
  78. rsKill_IP.close
  79. End If
  80. End If
  81. %>