> PHP 프레임워크 > YII > yii 프레임워크에서 csrf를 제거하는 방법

yii 프레임워크에서 csrf를 제거하는 방법

藏色散人
풀어 주다: 2020-07-18 17:18:11
원래의
2944명이 탐색했습니다.

yii 프레임워크에서 csrf를 제거하는 방법: 1. "init" 메소드를 통해 csrf를 끄십시오. 2. 양식에 숨겨진 필드를 추가하십시오. 3. AJAX에 "_csrf" 필드를 추가하십시오.

yii 프레임워크에서 csrf를 제거하는 방법

YII csrf를 끄는 방법

첫 번째 해결 방법은 CSRf를 끄는 것입니다.

public function init(){
    $this->enableCsrfValidation = false;
}
로그인 후 복사

두 번째 해결 방법은 양식에 숨겨진 필드를 추가하는 것입니다

<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">
로그인 후 복사

세 번째 해결 방법은 AJAX Add를 사용하는 것입니다. _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
});
로그인 후 복사

참고: 페이지에 양식이 없으면 ajax 게시물 제출은 문제가 되지 않습니다. ajax를 사용한 게시물 제출은 자동으로 _csrf

페이지에 양식, 특히 파일이 있는 경우 ajax Post가 생성되지 않습니다. 허용되는 경우 get을 사용해야 합니다.

추천: "yii 튜토리얼"

위 내용은 yii 프레임워크에서 csrf를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿