包括 Access-Control-Allow-Methods:* 仅适用于 PUT 请求

Posted

技术标签:

【中文标题】包括 Access-Control-Allow-Methods:* 仅适用于 PUT 请求【英文标题】:Including Access-Control-Allow-Methods:* for only PUT requests 【发布时间】:2016-03-14 20:54:04 【问题描述】:

我正在评估一个 REST API,我想知道是否包括:

Access-Control-Allow-Methods:GET,POST,PUT,DELETE,OPTIONS

Request Method 仅用于PUT 时,Response Headers 是正确的。

我也有兴趣了解这是否会带来安全风险或只是一种错误做法。

【问题讨论】:

【参考方案1】:

从技术上讲,仅PUT 可能还不够。对于飞行前请求,您可能还需要 OPTIONS

一般来说 REST 使用PUT 来修改现有内容。但是我们需要先创建内容,然后才能进行修改。所以POST也许也应该被允许?由你决定。

出于安全考虑,在我看来,它更多的是代码而不是允许的标头。

【讨论】:

好的,我理解你的意思,但我认为 DELETE 在这里不合适,你怎么看? 如果我们有DELETE 的用例,我们无论如何都会把它放在某个地方。在参数、自定义标头或方法中。如果人们能弄清楚,这取决于我们的代码如何处理这些可疑请求。 我很担心 Prefligh 可能存在的问题,正如这里所描述的 developer.mozilla.org/en-US/docs/Web/HTTP/… 这里:developer.mozilla.org/en-US/docs/Web/HTTP/… 感谢您抽出宝贵时间。

以上是关于包括 Access-Control-Allow-Methods:* 仅适用于 PUT 请求的主要内容,如果未能解决你的问题,请参考以下文章

日志实体类信息包括哪些内容?

Android认证包括啥?android认证只包括GMS认证吗?

IBM XL C 编译器 - 我如何扩展用户包括但不包括系统包括

window7控件包括?

包括问题和包括警卫

数据质量包括啥方面