• 全都有综合资源网

    分享赚钱

    一个专业的免费资源网

    每天更新100+优质资源

  • 手机版二维码

    随时手机查素材

  • 扫描二维码

    加入官方微信群

PHP如何阻止XSS跨站和安全预防脚本攻击过滤(通用版)

技术文章 每日更新
2024-7-21 18:27 65人浏览 0人回复
原作者: 全都有综合资源网 来自: 全都有综合资源网 收藏 分享 邀请
摘要

code/*进行安全字段和xss跨站脚本攻击过滤(通用版)-xzz*/functionescape($string){global$_POST;$search=array('//i','//i','/\"/i','/\bunion\b/i','/load_file(\s*(\/\*.*\*\/)?\s*)+\(/i','/into(\s*(\/\*.*\*\/) ...

 

PHP若何阻止XSS跨站战争安防备剧本进犯过滤(通用版)5328 作者:全都有综合资本网 来历:全都有综合资本网 公布时候:2024-7-21 18:27

layui-box layui-code-view" style="margin-top: 0px; margin-bottom: 10px; padding: 9.5px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); white-space: pre-wrap; overflow-wrap: break-word; box-sizing: border-box; position: relative; font-size: 13px; border: 1px solid rgb(204, 204, 204); background-color: rgb(245, 245, 245); color: rgb(51, 51, 51); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; overflow: auto; line-height: 1.42857; word-break: break-all; border-radius: 4px;">

code

  1. /* 停止平安字段和xss跨站剧本进犯过滤(通用版) -xzz  */
  2. function escape($string) {
  3.     global $_POST;
  4.     $search = array (
  5.         '/</i',
  6.         '/>/i',
  7.         '/\">/i',
  8.         '/\bunion\b/i',
  9.         '/load_file(\s*(\/\*.*\*\/)?\s*)+\(/i',
  10.         '/into(\s*(\/\*.*\*\/)?\s*)+outfile/i',
  11.         '/\bor\b/i',
  12.         '/\<([\/]?)script([^\>]*?)\>/si',
  13.         '/\<([\/]?)iframe([^\>]*?)\>/si',
  14.         '/\<([\/]?)frame([^\>]*?)\>/si'
  15.     );
  16.     $replace = array (
  17.         '&lt;',
  18.         '&gt;',
  19.         '&quot;&gt;',
  20.         'union&nbsp;',
  21.         'load_file&nbsp; (',
  22.         'into&nbsp; outfile',
  23.         'or&nbsp;',
  24.         '&lt;\\1script\\2&gt;',
  25.         '&lt;\\1iframe\\2&gt;',
  26.         '&lt;\\1frame\\2&gt;'
  27.     );
  28.     if (is_array ( $string )) {
  29.         $key = array_keys ( $string );
  30.         $size = sizeof ( $key );
  31.         for($i = 0; $i < $size; $i ++) {
  32.             $string [$key [$i]] = escape ( $string [$key [$i]] );
  33.         }
  34.     } else {
  35.         if (! $_POST ['stats_code'] && ! $_POST ['ad_type_code_content']) {
  36.             $string = str_replace ( array (
  37.                 '\n',
  38.                 '\r'
  39.             ), array (
  40.                 chr ( 10 ),
  41.                 chr ( 13 )
  42.             ), preg_replace ( $search, $replace, $string ) );
  43.             $string = remove_xss ( $string );
  44.         } else {
  45.             $string = $string;
  46.         }
  47.     }
  48.     return $string;
  49. }
  50. function remove_xss($val) {
  51.     $val = preg_replace ( '/([\x00-\x08\x0b-\x0c\x0e-\x19])/', '', $val );
  52.     $search = 'abcdefghijklmnopqrstuvwxyz';
  53.     $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  54.     $search .= '1234567890!@#$%^&*()';
  55.     $search .= '~`";:?+/={}[]-_|\'\\';
  56.     for($i = 0; $i < strlen ( $search ); $i ++) {
  57.         $val = preg_replace ( '/(&#[xX]0{0,8}' . dechex ( ord ( $search [$i] ) ) . ';?)/i', $search [$i], $val );
  58.         $val = preg_replace ( '/(&#0{0,8}' . ord ( $search [$i] ) . ';?)/', $search [$i], $val );
  59.     }
  60.     $ra1 = array (
  61.         'javascript',
  62.         'vbscript',
  63.         'expression',
  64.         'applet',
  65.         'meta',
  66.         'xml',
  67.         'blink',
  68.         'script',
  69.         'object',
  70.         'iframe',
  71.         'frame',
  72.         'frameset',
  73.         'ilayer',
  74.         'bgsound'
  75.     );
  76.     $ra2 = array (
  77.         'onabort',
  78.         'onactivate',
  79.         'onafterprint',
  80.         'onafterupdate',
  81.         'onbeforeactivate',
  82.         'onbeforecopy',
  83.         'onbeforecut',
  84.         'onbeforedeactivate',
  85.         'onbeforeeditfocus',
  86.         'onbeforepaste',
  87.         'onbeforeprint',
  88.         'onbeforeunload',
  89.         'onbeforeupdate',
  90.         'onblur',
  91.         'onbounce',
  92.         'oncellchange',
  93.         'onchange',
  94.         'onclick',
  95.         'oncontextmenu',
  96.         'oncontrolselect',
  97.         'oncopy',
  98.         'oncut',
  99.         'ondataavailable',
  100.         'ondatasetchanged',
  101.         'ondatasetcomplete',
  102.         'ondblclick',
  103.         'ondeactivate',
  104.         'ondrag',
  105.         'ondragend',
  106.         'ondragenter',
  107.         'ondragleave',
  108.         'ondragover',
  109.         'ondragstart',
  110.         'ondrop',
  111.         'onerror',
  112.         'onerrorupdate',
  113.         'onfilterchange',
  114.         'onfinish',
  115.         'onfocus',
  116.         'onfocusin',
  117.         'onfocusout',
  118.         'onhelp',
  119.         'onkeydown',
  120.         'onkeypress',
  121.         'onkeyup',
  122.         'onlayoutcomplete',
  123.         'onload',
  124.         'onlosecapture',
  125.         'onmousedown',
  126.         'onmouseenter',
  127.         'onmouseleave',
  128.         'onmousemove',
  129.         'onmouseout',
  130.         'onmouseover',
  131.         'onmouseup',
  132.         'onmousewheel',
  133.         'onmove',
  134.         'onmoveend',
  135.         'onmovestart',
  136.         'onpaste',
  137.         'onpropertychange',
  138.         'onreadystatechange',
  139.         'onreset',
  140.         'onresize',
  141.         'onresizeend',
  142.         'onresizestart',
  143.         'onrowenter',
  144.         'onrowexit',
  145.         'onrowsdelete',
  146.         'onrowsinserted',
  147.         'onscroll',
  148.         'onselect',
  149.         'onselectionchange',
  150.         'onselectstart',
  151.         'onstart',
  152.         'onstop',
  153.         'onsubmit',
  154.         'onunload'
  155.     );
  156.     $ra = array_merge ( $ra1, $ra2 );
  157.     $found = true;
  158.     while ( $found == true ) {
  159.         $val_before = $val;
  160.         for($i = 0; $i < sizeof ( $ra ); $i ++) {
  161.             $pattern = '/';
  162.             for($j = 0; $j < strlen ( $ra [$i] ); $j ++) {
  163.                 if ($j > 0) {
  164.                     $pattern .= '(';
  165.                     $pattern .= '(&#[xX]0{0,8}([9ab]);)';
  166.                     $pattern .= '|';
  167.                     $pattern .= '|(&#0{0,8}([9|10|13]);)';
  168.                     $pattern .= ')*';
  169.                 }
  170.                 $pattern .= $ra [$i] [$j];
  171.             }
  172.             $pattern .= '/i';
  173.             $replacement = substr ( $ra [$i], 0, 2 ) . ' ' . substr ( $ra [$i], 2 );
  174.             $val = preg_replace ( $pattern, $replacement, $val );
  175.             if ($val_before == $val) {
  176.                 $found = false;
  177.             }
  178. ©版权免责声明
    1、本站所有资源均来自用户上传及互联网。 如有侵权,请联系站长!
    2、分享目的仅供大家学习交流。 下载后必须在24小时内删除!
    3、不得用于非法商业目的或违反国家法律。 否则,后果自负!
    4、本站提供的源代码、模板、插件等资源不包含技术服务。 敬请谅解!
    5.如果出现无法下载、无效或有广告的链接,请联系管理员寻求帮助!
    6、本站资源价格仅用于赞助,所收取的费用仅用于维持本站日常运营!
    7、如果遇到加密压缩包,请使用WINRAR解压。 如果遇到无法解压的加密压缩包,请联系管理员!
    8、由于精力有限,很多源代码无法详细测试(解密),部分源代码无法区分为病毒或误报,所以没有进行修改。 请在使用前进行筛选。

    路过

    雷人

    握手

    鲜花

    鸡蛋
    热门教程
    专业的免费源码资源分享平台
    每天更新100+资源

    招募版主发工资

    • 官方在线客服

      QQ客服:红颜

      点击交谈

      在线客服:良子

      点击交谈

      在线客服:闵月

      点击交谈
    • 上海市虹口区海伦中心B座4F4055-4056室

    • 手机扫码查看手机版

      手机查找资源更方便

    • 扫一扫关注官方微信公众号

      加入官方微信

    一个专业的免费源码资源互联网分享平台 ©2001-2024 https://www.douyouvip.com全都有综合资源网( 豫ICP备2024057239号-1 )赞助会员|网站地图 HTML
    全都有综合资源网,WordPress主题PHP源码,PHP网站源码,网站模板,软件源码,网站源码免费下载,免费网站源码,网站源码模板,免费网站源码下载,wp免费源码,wp免费主题下载,PHP企业网站源码,软件源码下载