Очистите X-CSRF-TOKEN для посетителей, чтобы исправить блокировку XMLHttpRequest политикой CORS. - PullRequest
0 голосов
/ 25 февраля 2019

Я только что переключил веб-сайт с одного хоста на другой хост, и по какой-то причине мы получаем несколько следующих ошибок при попытке доступа к стороннему API

Access to XMLHttpRequest at 'https://externalwebsite.com/api/' from origin 'https://www.mainwebsite.com.au' has been blocked by CORS policy: Request header field x-xsrf-token is not allowed by Access-Control-Allow-Headers in preflight response.

В файле .htaccess есть политика CORS, разрешающая эти подключения:

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

Я вижу, что старый хост установил следующие файлы cookie, которые, когда я удалял их в моей системе, позволяли веб-сайтудля нормальной работы:

XSRF-TOKEN 1551054855|ZxDIR_16hNnw .www.mainwebsite.com

hs 1333923782 .www.mainwebsite.com

svSession 253f275579e7747b6495ca6ff45ba024da3bd3b36906f5ac14b709de48792403faf1d3bbff2205d92d2e9a8de90d4b101e60994d53964e647acf411e4f798bcd4c6094311de4bdfbf81f1c6cdfaa3e9de1f5fc736f232b0c584f30f1f7d232d9 .www.mainwebsite.com

Как я могу включить PHP или Javascript для очистки этих файлов cookie для всех, кто загружает сайт, чтобы он нормально загружался для тех, кто посещал сайт в прошлом?

1 Ответ

0 голосов
/ 25 февраля 2019

Если вы можете дать мне больше информации о вашей среде интерфейса, я объясню это более четко.

Возможное решение: при загрузке страницы добавьте скрипт для удаления куки

$(window).load(function() {
  $.cookies.del('name_of_your_cookie');
});

Этотеперь удалит куки, просто добавьте команду чтения куки и условие, которое проверит, являются ли куки старыми и должны быть удалены.

вы можете использовать document.cookie, чтобы читать куки и анализировать, чтобы проверить значения ключей.

Ping мне в случае любого запроса:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...