国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP防注入內容過濾方法

2024-05-04 21:58:43
字體:
來源:轉載
供稿:網友

內容過濾多是為了防止一些安全注入或者是跨域操作了,下面我們一起來看看我整理的幾個簡單的防注入內容過濾程序代碼,希望文章對各位同學會有所幫助.

方法一,過濾一些沒用的內容

過濾沒用的信息比較嚴格,有用的可能也輸入不進去,可以從網上找找其他的過濾方法,代碼如下:

  1. function checkHtml($data){ 
  2.   $ret  = preg_match("/['.,:;*?~`!@#$%^&+=)(<>{}]|]|[|/|/|"||/",$data); 
  3.   if ($ret == 1) { 
  4.     return false; exit
  5.   } else { 
  6.     return true; 
  7.   } 

例2,過濾一些html標簽,代碼如下:

  1. function uh($str)  
  2. {  
  3. $farr = array(  
  4. "/s+/"//過濾多余的空白  
  5. "/<(/?)(scripti?framestylehtmlbodytitlelinkmeta?%)([^>]*?)>/isU"//過濾 <script 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾  
  6. "/(<[^>]*)on[a-zA-Z]+s*=([^>]*>)/isU"//過濾javascript的on事件  
  7. );  
  8. $tarr = array(  
  9. " "//開源代碼Vevb.com 
  10. "</1/2/3>"//如果要直接清除不安全的標簽,這里可以留空  
  11. "/1/2",  
  12. );  
  13. $str = preg_replace( $farr,$tarr,$str);  
  14. return $str;  

方法三,上面兩種方法都是把要過濾內容放在了程序中,下面我把要過濾的內容放到一個txt文本,只要讀文件內容進行判斷即可,這樣方便維護要過濾的內容,代碼如下:

  1. <?php  
  2. if($_POST)  
  3. {  
  4.  //獲取文件內容轉為數組兩種方法:  
  5.  /*  
  6.  $fcon = file_get_contents("./filter.txt");  
  7.  $filter_word = explode("n",$fcon);  
  8.  */  
  9.  $filter_word = file("./filter.txt");  
  10.  //$filter_word = array("test1","test2","test3","test4");  
  11.  $str = $_POST["mess"];  
  12.  for($i=0;$i<count($filter_word);$i++)  
  13.  {  
  14.   if(preg_match("/".(trim($filter_word[$i]))."/i",$str))  
  15.   {  
  16.    echo "<script>alert('您輸入的內容含非法內容,請重輸!');</script>";  
  17.    echo "<a href='index.php'>返回</a>";  
  18.    exit;  
  19.   }  
  20.  }  
  21.  echo "您輸入的內容是:".$str;  
  22. }  
  23. ?>  
  24. <h2>測試過濾是否生效:</h2>  
  25. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">  
  26. <p><textarea name="mess" cols="40" rows="4"></textarea></p>  
  27. <p><input type="submit" name="sub" value="send"></p>  
  28. </form> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邵东县| 甘泉县| 镇安县| 广州市| 平江县| 蓝田县| 浮梁县| 中山市| 团风县| 惠来县| 高雄市| 敖汉旗| 马鞍山市| 吉林省| 六盘水市| 海盐县| 陆河县| 乌鲁木齐市| 平顶山市| 通渭县| 化州市| 肇庆市| 秭归县| 依安县| 西乌珠穆沁旗| 千阳县| 湘西| 新和县| 靖西县| 鹤庆县| 文成县| 蒲城县| 永新县| 芮城县| 仁化县| 清流县| 吉林省| 三台县| 苍梧县| 南靖县| 大邑县|