php过滤参数特殊字符防注入

  分享一例php实现过滤提交的参数数据以防止注入的代码,有需要的朋友参考下。

  本节内容:

  php过滤特符字符,php防注入。

  in: 后端程序

  例子:

  代码示例:

  <?php

  /**

  * 安全防范

  过滤php的$_GET 和$_POST参数

  */

  function Add_S($array)

  {

  foreach($array as $key=>$value)

  {

  if(!is_array($value))

  {

  $value = get_magic_quotes_gpc()?$value:addslashes($value);

  $array[$key]=filterHtml($value);

  }

  Else

  {

  Add_S($array[$key]);

  }

  }

  return $array;

  }

  function glstr($var) {

  if (is_array($var)) {

  return Add_S($var);

  }

  elseif(strlen($var)){

  $var = get_magic_quotes_gpc()?$var:addslashes($var);

  $var = filterHtml($var);

  }

  return $var;

  }

  function filterHtml($html)

  {

  $farr = array(

  "/<!DOCTYPE([^>]*?)>/eis",

  "/<(\/?)(html|body|head|link|meta|base|input)([^>]*?)>/eis",

  "/<(script|i?frame|style|title|form)(。*?)<\/\\1>/eis",

  "/(<[^>]*?\s+)on[a-z]+\s*?=(\"|‘)([^\\2]*)\\2([^>]*?>)/isU",//过滤javascript的on事件

  "/\s+/",//过滤多余的空白

  );

  $tarr = array(

  "",

  "",

  "",

  "\\1\\4",

  " ",

  );

  $html = preg_replace( $farr,$tarr,$html);

  return $html;

  } www.yztrans.com

  if (sizeof($_GET)) {

  foreach($_GET as $key => $value) {

  $_GET[$key] = glstr($value); //

  }

  }

  if (sizeof($_POST)) {

  foreach($_POST as $key => $value) {

  $_POST[$key] = glstr($value); //

  }

  } www.lefeng123.com
 

php过滤参数特殊字符防注入

上一篇:javascript中的JSON序列化与反序列化


下一篇:html页面颜色名称和颜色值转换