首頁 >php框架 >YII >yii框架怎麼去掉csrf

yii框架怎麼去掉csrf

藏色散人
藏色散人原創
2020-07-18 17:16:352959瀏覽

yii框架去掉csrf的方法:1、透過「init」方法關閉csrf;2、在form表單中加入隱藏域;3、在AJAX中加入「_csrf」欄位。

yii框架怎麼去掉csrf

YII 關閉csrf的方法

第一個解決方法是關閉Csrf

public function init(){
    $this->enableCsrfValidation = false;
}

第二個解決方法是在form表單中加入隱藏域

<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">

第三種解決方法是在AJAX中加入_csrf欄位

var csrfToken = $(&#39;meta[name="csrf-token"]&#39;).attr("content");
$.ajax({
  type: &#39;POST&#39;,
  url: url,
  data: {_csrf:csrfToken},
  success: success,
  dataType: dataType
});

備註:如果你的頁面沒有form的話, ajax的post提交是沒問題的,用ajax的post提交會自動產生_csrf

如果頁面有form 尤其是有file的話ajax的post是不可以的,必須用get。

推薦:《yii教學

以上是yii框架怎麼去掉csrf的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn