$sVariablesOrder = ini_get( 'variables_order' );
  
  $request = array();
  
  //过滤不安全数据
  for ( $i = 0; $i < strlen( $sVariablesOrder ); $i++ ){
   $cVariableFlat = strtolower( $sVariablesOrder[$i] );
   
   switch ( $cVariableFlat ){
    case 'e':
     
     $filtered = filter_input_array ( INPUT_ENV, FILTER_SANITIZE_SPECIAL_CHARS );
     break;
     
    case 'g':
     
     $filtered = filter_input_array ( INPUT_GET, FILTER_SANITIZE_SPECIAL_CHARS );
     break;
    
    case 'p':
     
     $filtered = filter_input_array ( INPUT_POST, FILTER_SANITIZE_SPECIAL_CHARS );
     break;
     
    case 'c':
     
     $filtered = filter_input_array ( INPUT_COOKIE, FILTER_SANITIZE_SPECIAL_CHARS );
     break;
     
    case 's':
     
     $filtered = filter_input_array ( INPUT_SERVER, FILTER_SANITIZE_SPECIAL_CHARS );
     break;
    
   }
   
   if ( !empty( $filtered ) ){
        $request = array_merge( $request, $filtered );
   }   
   
  }

PHP对全局变量_GET、_POST中特殊字符的过滤的更多相关文章

  1. 【转载】App.config/Web.config 中特殊字符的处理

    写一个网站,遇到一个问题,发布以后,提示错误,但是即使打开错误提示(在web.config中打开),还是只提示错误,没提示什么地方错误,这让我知道了:是webconfig本身的错误,经过排除,是链接字 ...

  2. App.config/Web.config 中特殊字符的处理

    我们知道在应用程序中嵌入连接字符串可能导致安全漏洞和维护问题.使用 Ildasm.exe(MSIL 反汇编程序) 工具可以查看编译到应用程序源代码中的未加密连接字符串.此外,如果连接字符串发生更改,则 ...

  3. PHP利用超级全局变量$_GET来接收表单数据。

    我们在linux上用 touch php_get.html php_get.php创建两个文件. php_get.html文件的代码如下: <!doctype html> <html ...

  4. 过滤Java中特殊字符

    过滤Java中特殊字符 /** * @Title:FilterString.java * @Package:com.you.model * @Description:过滤Java中特殊字符 * @Au ...

  5. Shell命令行中特殊字符与其转义详解(去除特殊含义)

    特殊符号及其转义 大家都知道在一个shell命令是由命令名和它的参数组成的, 比如 cat testfile, 其中cat是命令名, testfile是参数. shell将参数testfile传递给c ...

  6. 网址URL中特殊字符转义编码

    网址URL中特殊字符转义编码字符 - URL编码值空格 - %20" - %22# - %23% - %25& - %26( - %28) - %29+ - %2B, - %2C/ ...

  7. C#字符串中特殊字符的转义

    再基础的东西不常用的话就得记下来...不然就忘记了. 比如C#中对字符串中特殊字符的转义,一个是双引号",另一个就是转义符\ 对于同样一个字符串:地址:"C:\Users\E.tx ...

  8. SQLSERVER 去除字符串中特殊字符

    原文:SQLSERVER 去除字符串中特殊字符 /*========================================================================== ...

  9. SQL Server查询中特殊字符的处理方法 (SQL Server特殊符号的转义处理)

    SQL Server查询中特殊字符的处理方法 (SQL Server特殊符号的转义处理) SQL Server查询中,经常会遇到一些特殊字符,比如单引号'等,这些字符的处理方法,是SQL Server ...

随机推荐

  1. CocoaPods(pod install一直不动)

    CocoaPods安装和使用教程 如何在Mac 终端升级ruby版本 RubyGems 镜像 cocoapods无法使用(mac os 10.11升级导致pod: command not found)

  2. matlab下利用K-Means进行图像分类

    FIRST & BEST SOLUTION clear all; clc; I_rgb=imread('dog.jpg'); figure();imshow(I_rgb);title('原始图 ...

  3. Redis学习总结之三——Redis客户端命令

    Windows命令行启动Redis客户端 1. 使用默认IP地址和端口连接Redis数据库(IP地址:127.0.0.1,端口号6379) redis-cli 2. 使用指定IP地址和端口连接Redi ...

  4. C++调用SQLServer存储过程

    同事手头的C++工程中涉及SQLServer数据库的操作需要优化,说是测试调用存储过程失败,提示: 要了C++的源码: 折腾半天,最终定位问题,问题不在C++的代码,而是SQLServer的存储过程要 ...

  5. IT NEWS WebSite

    1.http://stackoverflow.com/ 2.google news 订阅 3.(IOS/Android/Java/Html5/JavaScript..)weekly 4.http:// ...

  6. dom4j 改变XML声明和编码格式

    dom4j 改变XML编码 Element rootElement = document.addElement("data"); document.setXMLEncoding(& ...

  7. 迫不及待地体验了一把 C#8.0 中的可空引用类型(Nullable Reference)

    在我之前的一篇博客 NullReferenceException,就不应该存在! 中,我吐槽了 C# 中 null 的弊端以及避免 null 的方法:事实上这本都是现代高级语言中极力推崇的做法.Kot ...

  8. MySQL事物回滚

    #commit.rollback用来确保数据库有足够的剩余空间:#commi.rollback只能用于DML操作,即insert.update.delet;#rollback操作撤销上一个commit ...

  9. Android中关于JNI 的学习(五)在C文件里使用LogCat

    Log是开发过程中.对于我们调试程序非常重要的一个工具,有非常多时候,我们正是通过Log才干够看清楚程序是不是真的依照我们想像中的模式在跑,从而定位到问题所在的地方.而在Android开发中,毫无疑问 ...

  10. @Autowired & @Resource 区别 & 解读@Bean

    一样     Autowired & @Resource 都可以用来Bean的注入,可以写在属性(字段)上.也可以写在setter方法上 不一样 1.来源不一样 @Autowired 由Spr ...