亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP常用工具函數小結【移除XSS攻擊、UTF8與GBK編碼轉換等】

2024-09-04 11:42:15
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP常用工具函數,結合實例形式總結分析了php移除XSS攻擊、以及php操作UTF8與GBK編碼轉換等相關操作自定義函數實現方法,需要的朋友可以參考下。

本文實例總結了PHP常用工具函數,分享給大家供大家參考,具體如下:

移除XSS攻擊腳本

  1. function RemoveXSS($val) { 
  2.     // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed 
  3.     // this prevents some character re-spacing such as <java/0script> 
  4.     // note that you have to handle splits with /n, /r, and /t later since they *are* allowed in some inputs 
  5.     $val = preg_replace('/([/x00-/x08,/x0b-/x0c,/x0e-/x19])/'''$val); 
  6.     // straight replacements, the user should never need these since they're normal characters 
  7.     // this prevents like <IMG SRC=@avascript:alert('XSS')> 
  8.     $search = 'abcdefghijklmnopqrstuvwxyz'
  9.     $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  10.     $search .= '1234567890!@#$%^&*()'
  11.     $search .= '~`";:?+/={}[]-_|/'//'
  12.     for ($i = 0; $i < strlen($search); $i++) { 
  13.       // ;? matches the ;, which is optional 
  14.       // 0{0,7} matches any padded zeros, which are optional and go up to 8 chars 
  15.       // @ @ search for the hex values 
  16.       $val = preg_replace('/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i'$search[$i], $val); // with a ; 
  17.       // @ @ 0{0,7} matches '0' zero to seven times 
  18.       $val = preg_replace('/(&#0{0,8}'.ord($search[$i]).';?)/'$search[$i], $val); // with a ; 
  19.     } 
  20.     // now the only remaining whitespace attacks are /t, /n, and /r 
  21.     $ra1 = array('javascript''vbscript''expression''applet''meta''xml''blink''link''style''script''embed''object''iframe''frame''frameset''ilayer''layer''bgsound''title''base'); 
  22.     $ra2 = array('onabort''onactivate''onafterprint''onafterupdate''onbeforeactivate''onbeforecopy''onbeforecut''onbeforedeactivate''onbeforeeditfocus''onbeforepaste''onbeforeprint''onbeforeunload''onbeforeupdate''onblur''onbounce''oncellchange''onchange''onclick''oncontextmenu''oncontrolselect''oncopy''oncut''ondataavailable''ondatasetchanged''ondatasetcomplete''ondblclick''ondeactivate''ondrag''ondragend''ondragenter''ondragleave''ondragover''ondragstart''ondrop''onerror''onerrorupdate''onfilterchange''onfinish''onfocus''onfocusin''onfocusout''onhelp''onkeydown''onkeypress''onkeyup''onlayoutcomplete''onload''onlosecapture''onmousedown''onmouseenter''onmouseleave''onmousemove''onmouseout''onmouseover''onmouseup''onmousewheel''onmove''onmoveend''onmovestart''onpaste''onpropertychange''onreadystatechange''onreset''onresize''onresizeend''onresizestart''onrowenter''onrowexit''onrowsdelete''onrowsinserted''onscroll''onselect''onselectionchange''onselectstart''onstart''onstop''onsubmit''onunload'); 
  23.     $ra = array_merge($ra1$ra2); 
  24.     $found = true; // keep replacing as long as the previous round replaced something 
  25.     while ($found == true) { 
  26.       $val_before = $val
  27.       for ($i = 0; $i < sizeof($ra); $i++) { 
  28.         $pattern = '/'
  29.         for ($j = 0; $j < strlen($ra[$i]); $j++) { 
  30.           if ($j > 0) { 
  31.             $pattern .= '('
  32.             $pattern .= '(&#[xX]0{0,8}([9ab]);)'
  33.             $pattern .= '|'
  34.             $pattern .= '|(&#0{0,8}([9|10|13]);)'
  35.             $pattern .= ')*'
  36.           } 
  37.           $pattern .= $ra[$i][$j]; 
  38.         } 
  39.         $pattern .= '/i'
  40.         $replacement = substr($ra[$i], 0, 2).'<x>'.substr($ra[$i], 2); // add in <> to nerf the tag 
  41.         $val = preg_replace($pattern$replacement$val); // filter out the hex tags 
  42.         if ($val_before == $val) { 
  43.           // no replacements were made, so exit the loop 
  44.           $found = false; 
  45.         } 
  46.       } 
  47.     } 
  48.     return $val

GBK轉UTF8

  1. function GBKtoUTF8($str
  2.   if(is_array($str)) 
  3.   { 
  4.     foreach ($str as &$value
  5.     { 
  6.       $value = GBKtoUTF8($value); 
  7.     } 
  8.     return $str
  9.   }elseif(is_string($str)){ 
  10.     $str = iconv("GB18030""UTF-8//IGNORE"$str); 
  11.     return $str
  12.   }else
  13.     return $str
  14.   } 

UTF8轉GBK

  1. function UTF8toGBK(&$str
  2.   if(is_array($str)) 
  3.   { 
  4.     foreach ($str as &$value
  5.     { 
  6.       $value = UTF8toGBK($value); 
  7.     } 
  8.     return $str
  9.   }elseif (is_string($str)){ 
  10.     $str = iconv("UTF-8""GB18030//IGNORE"$str); 
  11.     return $str
  12.   }else
  13.     return $str
  14.   } 
  15. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久精品日日躁夜夜躁国产| 久久视频精品在线| 国产一区私人高清影院| 亚洲欧美国产精品专区久久| 亚洲日本欧美中文幕| 久久久久久久久久久久久久久久久久av| 欧美亚洲国产视频| 欧美激情在线狂野欧美精品| 欧美疯狂性受xxxxx另类| 成人疯狂猛交xxx| 亚洲精品中文字| 日本亚洲欧洲色| 欧美成人精品一区二区三区| 日韩av在线免费看| 国产精品久久久久9999| 久久精品在线播放| 一本一本久久a久久精品牛牛影视| 欧美国产日韩精品| 91探花福利精品国产自产在线| 91禁国产网站| 亚洲老板91色精品久久| 欧美大片欧美激情性色a∨久久| 日韩欧美在线第一页| 91最新国产视频| 国产伦精品一区二区三区精品视频| 91色视频在线导航| 亚洲第一区在线观看| 精品少妇一区二区30p| 日韩精品视频免费在线观看| 欧美日本在线视频中文字字幕| 57pao国产精品一区| 亚洲视频777| 成人福利在线视频| 国产中文日韩欧美| 国产视频一区在线| 97香蕉超级碰碰久久免费软件| 精品偷拍各种wc美女嘘嘘| 欧美国产精品va在线观看| 亚洲天堂免费视频| 亚洲午夜精品视频| 中文字幕一区二区三区电影| 国产精品久久久久久久久久久久久久| 欧美精品国产精品日韩精品| 538国产精品一区二区免费视频| 亚洲男人第一网站| 国内精品中文字幕| 成人免费自拍视频| 国产美女搞久久| 久久福利网址导航| 久久久这里只有精品视频| 性欧美办公室18xxxxhd| 91在线视频九色| 色琪琪综合男人的天堂aⅴ视频| 91精品国产91久久久| 日韩有码在线播放| 欧美另类第一页| 亚洲女人初尝黑人巨大| 亚洲成人精品在线| 国产精品免费一区二区三区都可以| 欧美电影免费观看电视剧大全| 日韩精品视频在线观看免费| 色99之美女主播在线视频| 一本色道久久88精品综合| 亚洲高清久久网| 亚洲字幕在线观看| 一区二区欧美久久| 欧美国产一区二区三区| 亚洲最大中文字幕| 国产精品视频精品| 亚洲а∨天堂久久精品9966| 亚洲激情视频在线| 91极品女神在线| 成人免费看黄网站| 亚洲欧美日韩区| 亚洲第一福利视频| 国产亚洲欧美aaaa| 精品人伦一区二区三区蜜桃网站| 热久久美女精品天天吊色| 欧美精品电影在线| 日本精品久久久久久久| 亚洲国产三级网| 欧美日本国产在线| 中文字幕免费精品一区高清| 91丝袜美腿美女视频网站| 国产精品美女在线观看| 亚洲欧美日韩另类| 国产精品亚洲激情| 日韩欧美亚洲范冰冰与中字| 亚洲精品98久久久久久中文字幕| 日韩精品一区二区视频| 91久久国产精品91久久性色| 日本老师69xxx| 欧美日韩中文字幕日韩欧美| 亚洲欧美激情精品一区二区| 狠狠久久亚洲欧美专区| 亚洲精品一区在线观看香蕉| 国产精品欧美一区二区| 欧美日韩国内自拍| 久久久精品一区二区| 日韩中文字幕免费看| 久久激情视频久久| 成人激情电影一区二区| 在线观看亚洲区| 国产日韩欧美在线视频观看| 97福利一区二区| 久久久在线免费观看| 国产精品网红福利| 91九色精品视频| 国产美女精彩久久| 国产69精品99久久久久久宅男| 国产精品视频播放| 国产成人精品电影久久久| 成人免费淫片aa视频免费| 日韩中文在线中文网三级| 久久在线免费观看视频| 国产欧美一区二区三区在线| 久久久人成影片一区二区三区观看| 国产亚洲一区二区在线| 久久久黄色av| 亚洲精品91美女久久久久久久| 精品无人区乱码1区2区3区在线| 久久久久久久久久久成人| 欧美日韩亚洲高清| 在线观看日韩www视频免费| www.欧美精品一二三区| 国产精品久久一区主播| 欧美精品videosex性欧美| 精品视频在线播放色网色视频| 国产精品自产拍高潮在线观看| 亚洲精品美女久久久久| 国产成人精品一区| 欧美大片网站在线观看| 亚洲精品国产精品国产自| 91精品啪在线观看麻豆免费| 国内精品一区二区三区四区| 日韩av资源在线播放| 国产欧美va欧美va香蕉在| 久久99国产精品自在自在app| 国产精品观看在线亚洲人成网| 欧美日韩精品在线| 2018中文字幕一区二区三区| 日韩精品视频在线播放| 亚洲大胆人体av| 欧美在线视频播放| 欧美国产日韩免费| 国产成人在线一区| 一区二区三区美女xx视频| 45www国产精品网站| 久久精品国亚洲| 亚洲国产精品久久91精品| 麻豆一区二区在线观看| 国产精品欧美一区二区| 国产精品高精视频免费| 国产精品一区二区三| 清纯唯美亚洲综合| 欧美中文字幕在线视频| 高清一区二区三区四区五区| 国产成人在线视频| 国产精品video| 日本精品免费一区二区三区| 日韩电影第一页| 国产+成+人+亚洲欧洲| 亚洲欧美国产va在线影院| 北条麻妃在线一区二区|