萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php 過濾非法字符 與過濾html js css a等html標簽代碼

php 過濾非法字符 與過濾html js css a等html標簽代碼

<form name="form1" method="post" action="">

  <textarea name="content" cols="50" rows="10"></textarea>

  內容
 <input type="submit" name="Submit" value="提交">

</form>
<?
 if( $_POST )
 {
  
  //輸入
  //沒進行任何操作
  $a = $_POST['content'];
  echo $a;
  /*
   js css a等html標簽代碼<script>alert('輸出內容');</script>
   這裡彈出的一個js對話框
   這裡會影響網站的安全與用戶體驗
  */
  
  
  //進行安全過濾的函數
  $b = php_sava($_POST['content']);
  echo $b;
  /*
    這裡直接被過濾了,輸出了html代碼,而這裡也正是我們想要的結果
    js css a等html標簽代碼 <script>alert('輸出內容');</script>
  */
  //echo '<br>',$b;
   
 }
 
 function php_sava($str)
 {
  $farr = array(
   "/s+/",                                                                                         
   "/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isU",  
   "/(<[^>]*)on[a-zA-Z]+s*=([^>]*>)/isU",                                     
   
    );
    $tarr = array(
   " ",
   "<\1\2\3>",           //如果要直接清除不安全的標簽,這裡可以留空
   "\1\2",
    );
 
   $str = preg_replace( $farr,$tarr,$str);
    return $str;
 }
 // 本站原創作品,轉載注明來源 www.111cn.net
?>

copyright © 萬盛學電腦網 all rights reserved