联系电话:0755-27515592
最新动态:

PHP教程

你的位置: 首页>>智慧亿恩>>PHP教程

PHP防注入内容过滤方法

点击数:11702015-07-21 11:25:29 来源: 外贸网站建设,深圳外贸网站建设,深圳网站建设,外贸商城网站制作-亿恩科技

新闻摘要:内容过滤多是为了防止一些安全注入或者是跨域操作了,下面我们一起来看看我整理的几个简单的防注入内容过滤程序代码,希望文章对各位同学会有所帮助. 方法一,过滤一些没用的内容

内容过滤多是为了防止一些安全注入或者是跨域操作了,下面我们一起来看看我整理的几个简单的防注入内容过滤程序代码,希望文章对各位同学会有所帮助.

方法一,过滤一些没用的内容

过滤没用的信息比较严格,有用的可能也输入不进去,可以从网上找找其他的过滤方法,代码如下:

  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. " "//开源代码vcphp.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> 
  29.  
【责任编辑:(Top) 返回页面顶端
贴心
全国7×24小时客服热线
安全
病毒杀除率高于99%
稳定
网站可用性高于99.9%
实力
服务68家上市企业及集团公司
亿恩科技手机站
关注亿恩科技微信

亿恩科技—企业信息化一站式服务专家


Copyright © 2008- 深圳市亿恩科技有限公司版权所有 粤ICP备15056041号

联系我们 | 常见问题 | 在线留言 | 支付方式 | 软件开发 | 我的观点 | 资质荣誉 | 服务流程