php获取前端提交数据类:支持危险数据过滤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php获取前端提交数据类:支持危险数据过滤相关的知识,希望对你有一定的参考价值。

  1. 代码:
    /**
    * 获取前台提交的数据:支持危险数据自动过滤
    */
    class getRequest{
    /*
     判断前端传入方式,转换成能用数据
     */
    public function getRequestData(){
        $data;
        $ret;
        $contenttype = strtolower($_SERVER[‘CONTENT_TYPE‘]);
        $method = strtolower($_SERVER[‘REQUEST_METHOD‘]);
        if($contenttype == ‘application/json‘){
            $data = file_get_contents(‘php://input‘);
            $data = json_decode($data,true);
        }elseif(in_array($contenttype,array(‘application/x-www-form-urlencoded‘,‘multipart/form-data‘)) || $method == ‘post‘){
            $data = $_POST;
        }elseif(in_array($contenttype,array(‘application/x-www-form-urlencoded‘,‘multipart/form-data‘)) || $method == ‘get‘){
            $data = $_GET;
        }else{
            parse_str(file_get_contents(‘php://input‘),$data);
        }
        $ret = $this->safetyData($data);
        return $ret;
    }
    /*
     内部函数:过滤危险数据
     */
    private function safetyData($data){
        foreach($data as $k=>$v){
            if(is_array($v)){
                $data[$k] = $this->safetyData($v);
            }else{
                $tmp = trim($v);
                $tmp = addslashes($tmp);
                $data[$k] = $tmp;
            }
        }
        return $data;
    }
    }
  2. 用法:
    $getRequest = new getRequest();
    $data = $getRequest->getRequestData();
    var_dump($data);
  3. 测试
    技术分享图片
    技术分享图片

以上是关于php获取前端提交数据类:支持危险数据过滤的主要内容,如果未能解决你的问题,请参考以下文章

前端表单提交数据~php获取表单内容

web安全小节

PHP从二维数组获取指定数据,组成新维二数组

前端提交大量数组至PHP后台,数据被截断

php代码审计5审计命令执行漏洞

php学习笔记-获取表单数据