관리자에서 내 데이터베이스를 내보낼 때이 오류가 발생합니다. 오류 : CSRF 토큰이 잘못되었습니다. 양식을 다시 보냅니다. 관리자로부터이 요청을 보내지 않은 경우이 페이지를 닫습니다. 도움이 필요CSRF 토큰이 잘못되었습니다. 양식을 다시 보냅니다. 관리자
8
A
답변
4
내게는 HTTP (https가 아님)를 통해 관리자에게 액세스하는 동안 세션 쿠키에 secure
플래그가있는 것이 문제였습니다.
우리의 nginx 구성은 내가 제거해야
fastcgi_param HTTPS on;
했다.
3
CSRF 공격을 막기 위해 세션에 CSRF 토큰이 포함되어야합니다. 이 메시지는 사용자가 토큰을 저장하지 않았거나 토큰이 서버에서 생성 한 토큰과 같지 않다는 것을 의미합니다. 세션을 저장할 수있는 php.ini에서 쓰기 가능한 경로를 구성하지 않았다고 가정합니다. php.ini의 session.save_path를 쓰기 가능한 경로로 설정했는지 확인하십시오.
3
어떤 설정을 사용하고 있습니까? 나는 이것이 nginx + php-fpm에서 일어 났으며, 관리자가 근무한 곳과 session.cookie_domain
의 값을 공백으로 두어야한다는 것을 알게 된 하나의 컴퓨터에서 php.ini
의 차이를 발견했다.
0
때로는 이전 PHP 버전에서 발생하지만별로 중요하지 않습니다. 페이지를 새로 고치거나 다시 열면 문제가 해결됩니다.
1
/var/lib/php/session
이 있는지 확인하고 nginx
에 쓸 수 있는지 확인하십시오.
-1
시험해보세요.
chgrp nginx /var/lib/php/session
세션 저장 경로로 인해 쓰기 가능하지 않을 수 있습니다. 나는 같은 문제에 직면했고 위의 명령으로 해결했다. nginx 사용하지만 다른 웹 서버를 사용하는 경우 그냥 변경하십시오. 희망이 도움이!
왜 내 대답을 투표합니까? 나는 향상시키고 싶지만 이유를 남겨주세요. – wdetac