问题标签 [sec-fetch-site]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - Sec-Fetch-Mode 和阻塞的 CORS
所以我有同一个网站从不同的网络和计算机向 (1) Chrome 76 和 (2) Chrome 77 上的同一服务器发出相同的请求。
一个请求具有 (1)Sec-Fetch-Mode: no-cors, Sec-Fetch-Site: cross-site
和另一个 (2) Sec-Fetch-Mode: cors, Sec-Fetch-Site: same-site
。一个no-cors
失败,一个 400 到启用 CORS 的 C# Web API 端点(多年和各种设备上的数千个不同用户)。
到底是怎么回事?有人说 Chrome错误没有发送该标头进行飞行前,但它存在并设置为no-cors
.
Chrome 中的安全设置或错误?可修复的服务器端还是前端?
这是由 XMLHttpRequest 发送的,而不是新的 Fetch-API。
php - 拒绝来自 Opera 地址栏的服务器端(PHP 或 Apache)的 Fetch API 请求
几天前新的 Opera 65 出现了地址栏重新设计,我注意到我的网页上有一个问题。在栏中键入或复制地址时,Opera 会向服务器发送请求,但是,我无法在 PHP 中捕获请求,看起来,Fetch API 是在后台使用的。
有没有办法拒绝或阻止PHP 7 或 Apache 2.4 中的 Fetch API 请求?换句话说,在输入/复制时阻止 Opera 在服务器端产生的请求(首选 PHP)?
特别是,我需要排除在查询中提供带有哈希键的操作的 GET 请求(下面的示例中的测试)。当地址被复制(例如从邮件)到地址栏时,Opera“在后台”发送请求,请求被执行,但是在通过 Enter 提交地址后,第二个请求返回错误,因为禁止操作(哈希密钥不再有效)。
来自 Apache 日志:
来自 Wireshark(请求之一):
使用的技术:PHP 7.3.7、Apache/2.4.39
javascript - 当 sec-fetch-site 是跨站点时如何在 Chrome 中获取完整的引用 URL
我有一个由客户团队管理的客户网站,点击登录后它会进入我们管理的网站。到目前为止,我们一直在从请求标头中提取引荐来源网址并使用它来采取进一步的行动,但目前由于 Chrome 浏览器和 Edge 浏览器政策的一些变化,我们无法获得完整的引荐来源网址。它在 Firefox 和 Internet Explorer 中运行良好。这可能是因为浏览器策略限制了在 sec-fetch-site 是跨站点时发送的完整引用 URL。请帮助我使用一些简单的代码级方法(Java/JSP/Javascript)来提取完整的 URL。我尝试探索几个链接,但没有一个帮助我解决这个问题。
http-headers - sec-fetch-site 标头是什么意思?为什么 Origin 标头未定义?
我有一个API
从我的 React 应用程序调用的端点。那API
是在同一个域上。就像是:
我cross-fetch
用来做那个请求。
我期待在我的服务器日志上看到一个Origin
标题。事实上,我期待看到Origin: https://www.example.com
。
但这是我得到的:
他们的意思是什么?好像Origin
支票已经办好了?
例如:如果我得到sec-fetch-site: cross-site
这意味着呼叫是在另一个网站/域中生成的?那是对的吗?
参考:
http - 请求标头中的 Sec-Fetch-Mode、Sec-Fetch-Dest、Sec-Fetch-Site 创建 CORS 问题
在我使用 axios 从我的网站请求的后端端点上,大多数浏览器没有在请求标头上设置“sec-fetch-mode”和“sec-fetch-site”,它们似乎工作正常。
但是,很少有浏览器设置标头sec-fetch-mode:cors
,sec-fetch-dest: empty
和sec-fetch-site:same-site
, 在这种情况下连接关闭并且浏览器控制台显示以下错误。
后端有以下配置:
有没有办法从前端或后端的代码中控制这些标头?