考慮安全的問題,在代碼中加了令牌。
下面說一下如何用thinkphp5自帶的令牌去完成。
度了一下,也沒寫的比較全的,TP5文檔你懂得,不過最后還是依靠文檔寫出來的
文檔中介紹了好幾種方法,我就不一一講了,我講一個直接拿來就能用的。不需要額外的模型層和多余的代碼。
廢話不多說,上代碼。
前端代碼
{:token('__token__', 'sha1')}//插入在form中
這個能自動生成一個input hidden token表單
后端代碼
$result = $this->validate(
[
'__token__' => input('__token__'),
],
[
'__token__' => 'require|token',
]);
if(true !== $result){
// 驗證失敗 輸出錯誤信息
dump($result);
}
這寫在控制器中,把這段代碼VC到中間,就是一個過濾層。
不過有一個問題需要注意一下,這個form表單如果不刷新的話只能提交一次。
像那種后端有什么非空判斷的,盡量在前端進行過濾。
主要還是根據業務場景來去添加,免得引起不必要的麻煩。