• PHP 实现过滤参数字符的方法


    //参数处理函数2
    function RepPostVar2($val){
    if($val!=addslashes($val))
    {
    exit();
    }

    if(substr($val,-1)=="\")
    {
    exit();
    }

    $val=str_replace("%","",$val);
    $val=str_replace("`","",$val);
    $val=str_replace(" ","",$val);
    $val=str_replace("%20","",$val);
    $val=str_replace("%27","",$val);
    $val=str_replace("*","",$val);
    $val=str_replace("'","",$val);
    $val=str_replace(""","",$val);
    $val=str_replace("/","",$val);
    $val=str_replace(";","",$val);
    $val=str_replace("#","",$val);
    $val=str_replace("--","",$val);
    $val=RepPostStr($val,1);
    $val=addslashes($val);


    FWClearGetText($val);
    return $val;
    }

    //处理提交字符
    function RepPostStr($val,$ecms=0,$phck=0){
    if($phck==1)
    {
    CkPostStrCharYh($val);
    }
    $val=ehtmlspecialchars($val,ENT_QUOTES);
    if($ecms==0)
    {
    CkPostStrChar($val);
    $val=AddAddsData($val);
    //FireWall
    FWClearGetText($val);
    }
    return $val;
    }

    //检查敏感字符
    function FWClearGetText($str){
    global $ecms_config;
    if(empty($ecms_config['fw']['eopen']))
    {
    return '';
    }
    if(empty($ecms_config['fw']['cleargettext']))
    {
    return '';
    }
    $r=explode(',',$ecms_config['fw']['cleargettext']);
    $count=count($r);
    for($i=0;$i<$count;$i++)
    {
    if(stristr($r[$i],'##'))//多字
    {
    $morer=explode('##',$r[$i]);
    if(stristr($str,$morer[0])&&stristr($str,$morer[1]))
    {
    FWShowMsg('Post String');
    }
    }
    else
    {
    if(stristr($str,$r[$i]))
    {
    FWShowMsg('Post String');
    }
    }
    }
    }

  • 相关阅读:
    Python作业之分页显示内容
    Codeforces Round #368 (Div. 2)
    数论专项测试——约数个数和(lucas的数论)
    数论专题测试——逆元
    数论专题测试——幸运数字
    bzoj2219: 数论之神
    bzoj3283: 运算器
    梅森素数
    后缀数组
    Hash_1014: [JSOI2008]火星人prefix
  • 原文地址:https://www.cnblogs.com/songadmin/p/10837391.html
Copyright © 2020-2023  润新知