我有一个网站,并且我已经实施了自己的请求限制以提高安全性。
问题是,从一台特定的机器上,我收到重复的请求,它们之间几乎相同。生成的两个请求之间存在毫秒级的时间差。
当某些 JavaScript 代码以编程方式提交表单时,就会执行原始请求。
它们之间的唯一区别是第一个请求定义了以下标头:
Sec-Fetch-User: ?1
基于this https://www.w3.org/TR/fetch-metadata/#sec-fetch-user-header页面,标题似乎意味着第一个请求不是由用户生成的?
该文本非常技术性,我无法深入了解它的内容?1
means.
谁能启发我吗?这是否意味着它是由工具生成的并且我可以简单地拒绝使用该标头来服务请求?
此外,设备(Win10 操作系统)上的任何浏览器似乎都会发生这种情况。知道什么样的软件可以做到这一点以及为什么吗?
UPDATE:
看完之后this https://stackoverflow.com/questions/58493100/testing-with-watir-chromedriver-failed-with-sec-fetch-user-in-request-headers问题,我尝试在同一台机器上使用非基于 Chromium 的浏览器进行测试,我的印象是这些浏览器上没有发生这种情况。
但我想知道为什么这种情况主要发生在这台特定的机器上以及这种行为的含义是什么。
答案可以在这个中找到IETF草案 https://httpwg.org/http-extensions/draft-ietf-httpbis-header-structure.html#boolean, ?1
实际上意味着true
。因此,您观察到的第一个请求可能是由用户触发的(提交表单时),而第二个请求则不是。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)