javascript - 为访问者清除 X-CSRF-TOKEN 以修复 XMLHttpRequest 被 CORS 策略阻止的问题

标签 javascript php xmlhttprequest x-xsrf-token

我刚刚将网站从一台主机切换到另一台主机,由于某种原因,我们在尝试访问第三方 API 时遇到了以下多个错误

从源“https://www.mainwebsite.com.au”访问“https://externalwebsite.com/api/”处的 XMLHttpRequest 已被 CORS 策略阻止:请求 header 字段 x-xsrf预检响应中的 Access-Control-Allow-Headers 不允许使用 -token。

.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 253f275579e7747b6495ca6ff45ba024da3bd3b36906f5ac14b709de48792403faf1d3bbff2205d92d2e9a8de90d4b101e60994d53964e647acf41 1e4f798bcd4c6094311de4bdfbf81f1c6cdfaa3e9de1f5fc736f232b0c584f30f1f7d232d9 .www.mainwebsite.com

如何包含一些 PHP 或 Javascript 来为加载该网站的任何人清除这些 cookie,以便为过去访问过该网站的用户正常加载?

最佳答案

如果你能给我更多关于你的前端框架的信息,我会解释得更清楚。

可能的解决方案:在页面加载时添加脚本以删除 cookie

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

这将删除 cookie,现在只需添加一个读取 cookie 命令和一个条件来检查 cookie 是否旧且需要删除。

您可以使用document.cookie读取cookie并解析以检查键值。

如有任何疑问,请联系我:)

关于javascript - 为访问者清除 X-CSRF-TOKEN 以修复 XMLHttpRequest 被 CORS 策略阻止的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54858621/

相关文章:

php - 格式化 SilverStripe 函数中变量生成的日期

javascript - 使用javascript读取json

javascript - 在 Highcharts 之前显示 Logo 和菜单

javascript - 我如何编写一个时钟来显示一天还剩多少时间?

javascript - 调度名称中带有点的 CustomEvent 不会触发 jQuery.on() 事件监听器

php - 使用 PHP 的 XMLHttpRequest 对象,responseText 是正确的数组,但抛出 500 错误。无法识别错误原因

javascript - 将 multipart/x-mixed-replace 与 XMLHttpRequest 结合使用

javascript - Bootstrap 中的 KendoGrid

php - 为每个查询编写一个 PHP 页面是一种很好的编程技巧吗?

php - 为什么这个 PHP/SQL 不创建表?