>PHP 프레임워크 >YII >yii csrf 제출한 데이터를 확인할 수 없습니다

yii csrf 제출한 데이터를 확인할 수 없습니다

王林
王林원래의
2020-02-20 14:35:592079검색

yii csrf 제출한 데이터를 확인할 수 없습니다

해결책:

1. csrf 확인을 끄세요.

컨트롤러에

public $enableCsrfValidation = false;
를 추가하세요

2. 양식에 숨겨진 필드를 추가하세요

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

하지만 고급에는 프론트 데스크가 있습니다. 버전 백엔드, 즉 이름이 반드시 _csrf일 필요는 없으며 _csrf-backend 또는 _csrf-frontend 등일 수 있습니다.

_csrf의 필드 이름은 현재 페이지와 일치해야 합니다.

추천 튜토리얼: yii 프레임워크

3, ajax submit

저는 axios ajax 라이브러리를 사용하지만 실제로는 똑같습니다

axios({
    url: url,
    headers:{
        &#39;<?php echo \yii\web\Request::CSRF_HEADER; ?>&#39; : &#39;<?php echo Yii::$app -> request -> csrfToken; ?>&#39; // _csrf验证
    },
    data: postData,
}).then(response => {
    // 请求成功 回调
}).catch(error => {
    // 请求失败 回调
})

더 많은 프로그래밍 관련 내용은 php 중국어 홈페이지를 참고해주세요 프로그래밍 입문 칼럼!

위 내용은 yii csrf 제출한 데이터를 확인할 수 없습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.