暫時(shí)未通過前端去做加密,只是后端直接跑了一下加密代碼,就開始測試了,
使用Apipost工具操作
然后后解析的代碼如下
$rawData = $request->rawBody();
$aes = new AesEnryption(config('app.rsaKey.app_key'));
$postData = $aes->decrypt($rawData);
$postData = \json_decode($postData, true);
在控制臺(tái)打印$rawData的數(shù)據(jù)如下
$request->rawBody()里面返回的數(shù)據(jù)好像連頭部也返回了,要怎么去操作,在工具上面測試解密成功呢
config/app.php里可以配置'request_class' => Request::class,那進(jìn)support\Request里把parsePost這個(gè)方法重寫一下應(yīng)該就可以,試下
public function parsePost($arr = [])
{
if($arr){
// 置空Post數(shù)據(jù)信息
$this->_data['post'] = array();
foreach ($arr as $k => $item){
$this->_data['post'][$k] = $item;
}
return $this;
}
return parent::parsePost();
} 我這樣寫是能實(shí)現(xiàn)的,也想讓大佬幫忙看看有沒有什么問題
這個(gè)方法沒有傳參呀,看你業(yè)務(wù)是需要把get、post都重寫,那就參考Protocols/Http/Request.php里parsePost、parseGet原方法,比如在 $body_buffer = $this->rawBody();
后進(jìn)行解密處理