當我們開發時候需要對外開放介面 , 不管是GET還是POST , 都有點害怕對方傳遞給我們引數的方式被別人知道 , 然后直接改改引數搞破壞.
這時候就需要對引數進行一下安全的驗證作業 , 對引數進行加密后的字串拼接在要傳遞的引數后面 , 接收方同等加密進行判斷一致
比如在get引數部分 , 一般有一個ts的時間戳 , 防止當前介面的url被頻繁的呼叫 , 接收方對傳過來的時間戳進行判斷看看過期沒有
把所有要傳遞的引數拼接成一個字串 , 拼接上雙方約定的一個秘鑰 , 進行md5或者其他哈希函式處理 , 在get引數中增加一個簽名引數傳遞給接收方
例如下面的代碼:
$array =array ( 'grant_type' => 'authorization_code', 'code' => $code, 'client_id'=>$this->clientId, 'ts'=>$this->mtime(), 'redirect_uri'=>$this->redirectUri, ); ksort($array); $args=http_build_query($array); $signArg=str_replace("&",'',$args); $sign=md5($signArg.$this->clientSecret); $args.="&sign={$sign}"; $url="https:/xxx/1/oauth/token?{$args}"; 這個就是把get引數中的&符號去掉 , 拼接在一起 , 拼接上秘鑰然后md5 , 在把sign引數拼在url后面 ,接收方對引數進行同等的加密 , 進行驗簽.防止引數被篡改.轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/73410.html
標籤:PHP
