回答
收藏
分享
举报
有什么方法可以查看网站支持哪些请求方法?
提问于2021-01-07 16:13

浏览 4.5k



比如说在nginx中配置 Allow-Methods和 Allow-Headers ,怎么知道网站支持哪些?

add_header Access-Control-Allow-Methods 'GET,POST';
add_header Access-Control-Allow-Headers '*';
add_header Access-Control-Allow-Credentials 'true';


# JD 可以看到 运行所有( Access-Control-Allow-Origin: *)

curl -I -XGET www.jd.com
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Thu, 07 Jan 2021 08:09:52 GMT
Content-Type: text/html
Content-Length: 138
Connection: keep-alive
Location: https://www.jd.com/
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
X-Trace: 302-1610006992561-0-0-0-0-0
Strict-Transport-Security: max-age=360


#淘宝没显示

curl -I -XPUT www.taobao.com

HTTP/1.1 301 Moved Permanently
Server: Tengine
Date: Thu, 07 Jan 2021 08:11:31 GMT
Content-Type: text/html
Content-Length: 278
Connection: keep-alive
Location: https://www.taobao.com/
Via: cache10.cn2434[,0]
Timing-Allow-Origin: *
EagleId: 700f049e16100070914034934e


#  QQ也没显示

curl -I -XGET www.qq.com
HTTP/1.1 302 Moved Temporarily
Server: ias/1.3.5_1.17.3
Date: Thu, 07 Jan 2021 08:11:58 GMT
Content-Type: text/html
Content-Length: 149
Connection: keep-alive
Location: https://www.qq.com/

curl -I -XDELETE www.qq.com

HTTP/1.1 302 Moved Temporarily
Server: ias/1.3.5_1.17.3
Date: Thu, 07 Jan 2021 08:12:10 GMT
Content-Type: text/html
Content-Length: 149
Connection: keep-alive
Location: https://www.qq.com/


已修改于2022-12-31 04:42



写下您的回答
发表回答
全部回答(1)

按点赞数排序

按时间排序

RFC规范上定义的options方法,可以用于获取所有支持的method方法。

然而,这实际上会带来web安全问题,黑客很容易扫描到web框架的漏洞,比如有些老框架还在支持trace方法。因此,waf防火墙大都会拒绝options方法。

赞同

1

回复举报

回答于2021-01-07 16:48



回复陶辉
回复
wajika回复了

哦 明白了,那么意思是说 本身options方法是可以获取到allow信息,但是response被waf防火墙过滤了吗?


可是我在本地搭建了一个nginx,使用curl options 请求也没法拿到 allow相关信息。

0

回复举报

回答于2021-01-08 02:16



回复wajika
回复
陶辉回复了wajika

当大家都明白options方法不安全时,各种web框架的实现者们也不会依赖前方还有waf,而是会主动的改变的。

0

回复举报

回答于2021-01-08 02:35



回复陶辉
回复
wajika回复了陶辉

本地使用nginx,有没有什么方法可以看到web server支持allow范围

0

回复举报

回答于2021-01-09 01:53



回复wajika
回复
提问者
wajika
这家伙很懒还未留下介绍~
0
文章
3
问答
0
粉丝
相关问答

不行,NGINX会随机用一个端口向后端转发数据,如果想要保留端口,可能得使用listen proxy_protocol,用代理协议传递信息

点赞 0
浏览 3.3k

当遇到反向代理302错误和静态资源403错误时,可以采取几个步骤来解决问题。以下是帮助您的一般指南:

  • 了解反向代理302错误:
    • HTTP 302状态代码指示临时重定向到另一个URL。
    • 检查反向代理配置是否设置正确,包括目标URL和任何重写规则。
  • 反向代理302错误疑难解答:
    • 请确保目标服务器可访问并且响应正确。
    • 验证反向代理配置是否正确地将请求转发到相应的目标URL。
    • 检查是否有任何重写或重定向规则导致了意外行为。
    • 查看HTTP标头,查看是否有关于重定向问题的任何线索。
  • 解决反向代理302错误:
    • 调整反向代理配置以确保其正确转发请求和处理重定向。
    • 检查是否有任何服务器端脚本或应用程序正在修改HTTP响应,从而导致意外重定向。
    • 检查任何重写规则或重定向配置,并进行必要的调整。
    • 再次测试反向代理,以验证302错误是否已解决。
  • 了解静态资源403错误:
    • HTTP 403状态代码表示禁止访问错误,通常是由于权限不足或配置错误。
    • 检查请求的静态资源(例如,文件、图像、CSS、JavaScript)是否位于正确的目录中并具有必要的权限。
  • 对静态资源403错误进行疑难解答:
    • 验证服务器上的文件权限,以确保Web服务器进程具有提供静态资源所需的访问权限。
    • 检查是否有任何访问控制列表(ACL)或安全设置阻止访问静态资源。
    • 请确保所请求的静态资源存在于指定的位置,并且可以由Web服务器访问。
  • 解决静态资源403错误:
    • 调整服务器上的文件权限,以允许Web服务器进程读取静态资源。
    • 仔细检查文件的位置,必要时将其移动到正确的目录。
    • 查看可能阻止访问的任何安全设置或访问控制列表,并相应地进行修改。
    • 再次测试访问静态资源,以验证403错误是否已解决。

请记住,所提供的步骤是通用指南,实际的解决方案可能取决于特定的配置和环境。如果在完成这些步骤后仍然遇到问题,建议您查阅文档或向反向代理或Web服务器供应商寻求支持。

点赞 0
浏览 4.7k