找回密码
 立即注册

QQ登录

只需一步,快速开始

免费咨询热线:13559213891

Asp防跨站防护代码(XSS防护)

领券优惠购买阿里云
工作需要,用到了ASP,需要一个防护,百度找了下,测试没问题,分享下
保存为:safe.asp 放网站根目录
  1. <%   
  2. On Error Resume Next  
  3. if request.querystring<>"" then call stophacker(request.querystring,"'|\b(alert|confirm|prompt)\b|<[^>]*?>|^\+/v(8|9)|\bonmouse(over|move)=\b|\b(and|or)\b.+?(>|<|=|\bin\b|\blike\b)|/\*.+?\*/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)")  
  4. if Request.ServerVariables("HTTP_REFERER")<>"" then call test(Request.ServerVariables("HTTP_REFERER"),"'|\b(and|or)\b.+?(>|<|=|\bin\b|\blike\b)|/\*.+?\*/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)")  
  5. if request.Cookies<>"" then call stophacker(request.Cookies,"\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|/\*.+?\*/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)")   
  6. call stophacker(request.Form,"^\+/v(8|9)|\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|/\*.+?\*/|<\s*script\b|<\s*img\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)")  

  7. function test(values,re)  
  8.         dim regex  
  9.         set regex=new regexp  
  10.         regex.ignorecase = true  
  11.         regex.global = true  
  12.         regex.pattern = re  
  13.         if regex.test(values) then  
  14.                 Response.Write("<div style='position:fixed;top:0px;width:100%;height:100%;background-color:white;color:green;font-weight:bold;border-bottom:5px solid #999;'><br>您的提交带有不合法参数,谢谢合作!<br><br></div>")  
  15.                 Response.end  
  16.         end if  
  17.         set regex = nothing  
  18. end function   


  19. function stophacker(values,re)  
  20.         dim l_get, l_get2,n_get,regex,IP  
  21.         for each n_get in values  
  22.                 for each l_get in values  
  23.                         l_get2 = values(l_get)  
  24.                         set regex = new regexp  
  25.                         regex.ignorecase = true  
  26.                         regex.global = true  
  27.                         regex.pattern = re  
  28.                         if regex.test(l_get2) then  
  29.                                 Response.Write("<div style='position:fixed;top:0px;width:100%;height:100%;background-color:white;color:green;font-weight:bold;border-bottom:5px solid #999;'><br>您的提交带有不合法参数,谢谢合作!<br><br></div>")  
  30.                                 Response.end  
  31.                         end if  
  32.                         set regex = nothing  
  33.                 next  
  34.         next  
  35. end function   
  36. %>
复制代码


用法:
  1. <!--#include virtual="/safe.asp"-->
复制代码

以上代码放conn.asp之类的公用文件里面

本教程由无限星辰工作室CRX349独家整理和提供,转载请注明地址,谢谢。本文地址:https://www.xmspace.net/thread-829-1-1.html
无限星辰工作室 www.xmspace.net 星辰云擎 monitor.xmwxxc.com 星辰加密 phpjm.xmwxxc.com 星辰付款码 xcpay.xmwxxc.com
服务Discuz!建站|搬家|运维|挂马防护|Win Linux网站环境(lanmp)架设优化|服务器安全维护|解决CPU100|解决论坛卡顿|Thinkphp定制开发|App开发|微擎运维|小程序开发|Cms/Cmf二开
服务理念:专业 诚信 友好QQ842062626 服务项目 http://www.xmspace.net/service.php Discuz!交流群 315524225
发表于 2020-5-6 23:28:41 | 显示全部楼层 |阅读模式

回复 | 使用道具 举报

该帖共收到 0 条回复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美图秀

    • VsCode下Python 报python from import 错误
    • modoer 3.6搬家并更换域名
    • 阿里云Centos8 Error: Failed to synchroni
    • Win2019下VirtualBox虚拟环境开机自动运行
    • Discuz! 贴内通栏广告修改
拖动客服框
Online Service
点击这里给我发消息
点击这里联系我们
微信扫一扫
在线客服
快速回复 返回顶部 返回列表