CakePHP 3 cors, X-CSRF-Token - PullRequest
       15

CakePHP 3 cors, X-CSRF-Token

0 голосов
/ 23 мая 2018

У меня есть проблема с реализацией CSRFProtection для моих форм ввода.следующая переменная всегда пуста в CSRFProtectionMiddleware.php:

$header = $request->getHeaderLine('X-CSRF-Token');

По этой причине я всегда получаю сообщение CSRF 'token mismatch.'error.Проблема может быть в следующем:

$this->response->cors($this->request)->allowHeaders(['X-CSRF-Token']);

Но я не знаю, куда мне его поместить, потому что в кулинарной книге здесь нет четкого описания:

https://book.cakephp.org/3.0/en/controllers/request-response.html#setting-cross-origin-request-headers-cors

1 Ответ

0 голосов
/ 17 июля 2018

Вы можете поместить это в свой контроллер, но, пожалуйста, смотрите эту ссылку .На этой странице описано, что она должна быть

$this->response = $this->response->cors($this->request)
->allowOrigin(['*.cakephp.org'])
->allowMethods(['GET', 'POST'])
->allowHeaders(['X-CSRF-Token'])
->allowCredentials()
->exposeHeaders(['Link'])
->maxAge(300)
->build();

, а не просто

$this->response->cors($this->request)
->allowOrigin(['*.cakephp.org'])
->allowMethods(['GET', 'POST'])
->allowHeaders(['X-CSRF-Token'])
->allowCredentials()
->exposeHeaders(['Link'])
->maxAge(300)
->build();


надеюсь, что это поможет.

...