禁用来自客户端脚本的 OPTIONS 请求
Posted
技术标签:
【中文标题】禁用来自客户端脚本的 OPTIONS 请求【英文标题】:Disabling OPTIONS request coming from Client Side Script 【发布时间】:2018-08-13 10:50:10 【问题描述】:如何禁用来自服务器端脚本(php)的 OPTIONS 请求..??当我通过 Angular 将数据发布为 POST 时,另一种方法 OPTIONS 也在服务器端通过谷歌搜索发现它是 CORS 作为预检请求的强制性要求。有没有办法从后端服务器端脚本(例如 PHP)处理这种类型的 OPTIONS?
【问题讨论】:
【参考方案1】:如果前端和后端服务器不在同一个域中,则无法阻止客户端发送 CORS 请求。如果需要,所有浏览器都会发出 CORS 请求
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
如果您禁用 OPTIONS 方法服务器端,这意味着 CORS 请求将不再起作用,这意味着您必须将 angular front 和 PHP API 放在同一个域中才能使您的网站正常工作。
【讨论】:
面临的问题是,当我尝试将数据发布到 API 时,两个调用将返回后端,一个作为 OPTIONS,第二个作为普通 POST,因此数据被多次插入让人很头疼的。有什么办法可以解决这个问题? 确保在您的 PHP 中,如果当前请求的方法是OPTIONS
,则只返回 CORS 标头而不做其他任何事情以上是关于禁用来自客户端脚本的 OPTIONS 请求的主要内容,如果未能解决你的问题,请参考以下文章
如何避免在 express.js auth 中间件中捕获 HTTP OPTIONS 请求