分享一例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过滤参数特殊字符防注入的更多相关文章

  1. asp.net core mvc 统一过滤参数,防止注入漏洞攻击

    参考链接: http://www.lanhusoft.com/Article/132.html 在core下,多少有些改动,其中js部分被注释掉了,如下: public static string F ...

  2. 特殊字符的过滤方法,防sql防注入代码的过滤方法

    特殊字符的过滤方法 function strFilter($str){ //特殊字符的过滤方法 $str = str_replace('`', '', $str); $str = str_replac ...

  3. ASP.NET MVC 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁

    在开发程序的过程中,稍微不注意就会隐含有sql注入的危险.今天我就来说下,ASP.NET mvc 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁.不用每下地方对参数的值都进行检 ...

  4. 输入值/表单提交参数过滤有效防止sql注入的方法

    输入值/表单提交参数过滤,防止sql注入或非法攻击的方法:  代码如下: /** * 过滤sql与php文件操作的关键字 * @param string $string * @return strin ...

  5. AOP实践—ASP.NET MVC5 使用Filter过滤Action参数防止sql注入,让你代码安全简洁

    在开发程序的过程中,稍微不注意就会隐含有sql注入的危险.今天我就来说下,ASP.NET mvc 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁.不用每下地方对参数的值都进行检 ...

  6. PHP POST, GET 参数过滤,预防sql注入函数

    1. 实际过滤函数 可适当修改其中的正则表示式 1 static public function filterWords(&$str) 2 { 3 $farr = array( 4 " ...

  7. Yii防注入攻击笔记

    网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许:对于内容复杂表单的内容,应该对html和script ...

  8. MYSQLl防注入

    1.简单sql防注入 简述: 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令. 在某些表单中,用户输入的内容直接用来构造(或 ...

  9. 简单实用的PHP防注入类实例

    这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下   本文实例讲述了简单实用的PHP防注 ...

随机推荐

  1. Putty工具包简单使用

    Putty工具包简单使用 一.Putty简介 Putty是一款远程登录工具,用它可以非常方便的登录到Linux服务器上进行各种操作(命令行方式).Putty完全免费,而且无需安装(双击即可运行),支持 ...

  2. -_-#【Mac】快捷操作

    快捷键 command + 拖拽 = 剪切option + 拖拽 = 复制command + option + 拖拽 = 快捷方式 command + ] 前进command + [ 后退 comma ...

  3. How to make onActivityResult get called on Nested Fragment

    One of the common problem we always meet in the world of Fragment is: although we could callstartAct ...

  4. win7怎么安装消息队列 MSMQ

    win7般都默认装了消息队列只需要进入 控制面板-程序-程序和功能-已安装更新-打开或关闭windows功能 勾选 Microsoft Message Queue (MSMQ)服务器 启动服务 行了: ...

  5. Java 8 中新的 Date 和 Time 类入门详解

    这篇文章主要是java8中新的Date和Time API的实战.新的Date和Time类是java开发者社区千呼万唤始出来的.Java8 之前存在的Date类一直都受人诟病,很多人都会选择使用第三方的 ...

  6. Python自动化之Django的CSRF

    什么CSRF? CSRF, Cross Site Request Forgery, 跨站点伪造请求.举例来讲,某个恶意的网站上有一个指向你的网站的链接,如果 某个用户已经登录到你的网站上了,那么当这个 ...

  7. Tomcat中server.xml配置及Context的配置说明

    server.xml配置简介         下面是这个文件中的基本配置信息,更具体的配置信息见tomcat的文档         server:         port     指定一个端口,这个 ...

  8. Oracle 数据库基本操作——实用手册、表操作、事务操作、序列

    目录: 0. 参考链接与参考手册1. oracle 实用(常用操作)指令2. 数据库基本操作语法 a) 表操作 1)创建表 2)更新表 3)删除表 4)查询 b) 事务操作 c) 序列操作 1)创建序 ...

  9. Ubuntu 13.04 安装 GCC4.8.1

    终于有了完整实现C++11的GCC 4.8.1. 给自己的系统升级吧. 下面的步骤可以安装GCC4.8.1, 内容来自:http://askubuntu.com/questions/312620/ho ...

  10. ActiveX控件打包成Cab置于网页中自动下载安装(转载)

    原文出自http://www.iteye.com/topic/110834 [背景] 做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用,那么用户在客户端就必 ...