php用户输入fiter函数的校验-创新互联

php用户输入fiter函数的校验:

创新互联-专业网站定制、快速模板网站建设、高性价比武陟网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式武陟网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖武陟地区。费用合理售后完善,十年实体公司更值得信赖。

代码如下:

header("Content-type: text/html; charset=utf-8");

  function filter_param($paramArr, $filterArr)

  {

    $res = filter_var_array($paramArr, $filterArr);   //参数不合法-flase, 没传参数-null

    foreach ($res as $key=>$val) {

      //再判断未传的参数。

      if (is_null($val)) {

        //1.如果是必填项

        if ($filterArr[$key]['required']) {

          if (isset($filterArr[$key]['options']['default'])) {

            //1.1如果有default值,则设置为default值。

            $res[$key] = $filterArr[$key]['options']['default'];

          } else {

            //1.2如果没有default值,抛出异常。

            return [false,"参数 $key 为必填!"];

          }

        } else {

          //$res[$key]='';    //这里是默认把null值改为空值。是否有必要?

           return [false,"缺少参数 $key !"];

        }

      }

    }

    //如果有验证失败的,抛出异常。

    if (false === $val) {

      return [false,"参数 $key 格式非法!"];

    }

    return [true,"验证通过"];

  }

//每个model里,都写个checkParam函数,用来配置验证的规则。

function checkParam($arrInput)

{

  //1.先检查catId

  $filter = array(

      //数字类型的,必填。只允许 0-1。

    "catId" => array(

      "required"=>1,

      "filter"=>FILTER_VALIDATE_INT,

      "options"=>array(

        "min_range" =>0,

        "max_range" =>1,

      )

    ),

      //字符串类型的,必填。长度大于1。

    "title" => array(

      "required"=>1,

      "filter"=>FILTER_VALIDATE_REGEXP,

      "options"=>array(

        "regexp" =>"/^.+/",

      )

    ),

      //字符串类型的,非必填。但要是填了的话,则格式必须为email。

    "email" => array(

      "filter"=>FILTER_VALIDATE_EMAIL,

    ),

    "ip" => array(

      "filter"=>FILTER_VALIDATE_IP,

    ),

  );

  return  filter_param($arrInput, $filter) ;

}

 //比如这个是输入的参数。可以试着修改这里看看效果。

 $arrInput=array(

  'catId'=>1,

  'title'=>'xx',

  'ip'=>'xxxxxx.com',

  'email'=>'xxxxxx.com',

 );

 //去掉字符串空格

 preg_replace("/\s/", "", $val);

  $res = checkParam($arrInput);

  echo  $res[1];

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站题目:php用户输入fiter函数的校验-创新互联
网页地址:http://scjbc.cn/article/psgoc.html

其他资讯