1. 程式人生 > >php獲取前端提交數據類:支持危險數據過濾

php獲取前端提交數據類:支持危險數據過濾

php獲取前端提交數據類:支持危險數據過

  • 代碼:
    /**
    * 獲取前臺提交的數據:支持危險數據自動過濾
    */
    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;
    }
    }
  • 用法:
    $getRequest = new getRequest();
    $data = $getRequest->getRequestData();
    var_dump($data);
  • 測試
    技術分享圖片
    技術分享圖片
  • php獲取前端提交數據類:支持危險數據過濾