zoukankan      html  css  js  c++  java
  • 参数过滤方法

    /**

     * url解码

     */

    public static function urlDecodeDeep($mixedText){

      if(is_array($mixedText)){

        $mixedRet = array();

        if(!empty($mixedText)){

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

            $mixedRet [$Key] = is_array($value) ? self::urlDecodeDeep($value) : rawurldecode($value);

          }

        }

      }else{

        $mixedRet = rawurldecode($mixedText);

      }

      return $mixedRet ;

    }

    url编码与上面的类似,只是把rawurldecode();换成rawurlencode();

    /**

     * 对字符串进行转义

     */

    public static function addSlashedDeep($mixedInput){

      if(!get_magic_quotes_gpc()){

        $mixedInput = is_array($mixedInput) ? array_map("addSlashedDeep",$mixedInput) : addslashes($mixedInput);

      }

      return $mixedInput;

    }

    注释:默认地,PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。所以您不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

    addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。(字符串转义)

    stripslashes()(字符串反转义)

    array_map — 为数组的每个元素应用回调函数

    预定义字符是:

    • 单引号(')
    • 双引号(")
    • 反斜杠()
    • NULL
  • 相关阅读:
    新汉诺塔
    车的放置
    [NOI 2015]荷马史诗
    [JSOI2008]星球大战
    分组
    星空
    [Luogu4175][CTSC2008]网络管理Network
    [Luogu2617]Dynamic Rankings(整体二分)
    2018冬令营赛前停课总结
    [BZOJ2752][HAOI2012]高速公路
  • 原文地址:https://www.cnblogs.com/lansetiankongblog/p/6824849.html
Copyright © 2011-2022 走看看