Home >php教程 >php手册 >php过滤表单提交的危险代码(防php注入)

php过滤表单提交的危险代码(防php注入)

WBOY
WBOYOriginal
2016-06-13 10:12:49844browse

表单提交如果安全做得不好就很容易因为这个表单提交导致网站被攻击了,下面我来分享两个常用的php 过滤表单提交的危险代码的实例,各位有需要的朋友可参考。

例1

 

 代码如下 复制代码

function uhtml($str) 

    $farr = array( 
        "/s+/", //过滤多余空白 
         //过滤 <script>等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还</script>

可以加入的过滤 
        "/]*?)>/isU",
        "/(]*)on[a-zA-Z]+s*=([^>]*>)/isU",//过滤javascript的on事件 
   ); 
   $tarr = array( 
        " ", 
        "<123>",//如果要直接清除不安全的标签,这里可以留空 
        "12", 
   ); 
  $str = preg_replace( $farr,$tarr,$str); 
   return $str; 
}

例2
或者这样操作

 代码如下 复制代码

//get post data
 function PostGet($str,$post=0)
 {
  empty($str)?die('para is null'.$str.'!'):'';
  
  if( $post )
  {
   if( get_magic_quotes_gpc() )
   {
    return htmlspecialchars(isset($_POST[$str])?$_POST

[$str]:'');
   }
   else
   {
    return addslashes(htmlspecialchars(isset($_POST[$str])?

$_POST[$str]:''));
   }
   
  }
  else
  {
   if( get_magic_quotes_gpc() )
   {
    return htmlspecialchars(isset($_GET[$str])?$_GET[$str]:''); 
   }
   else
   {
    return addslashes(htmlspecialchars(isset($_GET[$str])?

$_GET[$str]:'')); 
   }
  }
 }

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn