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

浏览 4.3k



比如说在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
粉丝
相关问答

最简单的办法,你可以把include文件的后缀名,比如a.conf(我猜你是用.conf结尾的)改为a.nginx,include语句也相应修改下,就可以了。

你试试看。

当然,直接修改nginx.conf中vim的探测规则也可以,这稍微有点复杂。

点赞 0
浏览 4.2k

在提供的配置片段中,h_server变量用作服务器块中proxy_pass指令的参数。要在自定义ndg_test流模块中动态修改h_server的值,可以执行以下步骤:




1. 修改ndg_test流模块:




- 打开自定义ndg_test流模块的源代码。


- 找到需要修改h_server值的相关部分。


- 添加逻辑以根据所需条件或条件更新h_server的值。这可以通过修改流模块代码中的适当变量或数据结构来实现。


2. 重新编译和重新加载NGINX:




- 使用修改后的源代码重新编译自定义ndg_test流模块。


- 请确保遵循自定义模块的特定生成说明。


- 成功编译模块后,重新加载或重新启动NGINX以应用更改。


通过修改自定义ndg_test流模块,您可以根据自己的需求动态控制h_server的值。您可能需要查阅特定于您正在使用的自定义模块的文档或社区资源,以获取有关如何修改其行为的更详细说明。




值得注意的是,修改和重新编译自定义模块需要编程和系统管理知识。确保您拥有必要的专业知识,并遵循将自定义模块编译和集成到NGINX设置中的最佳实践。

点赞 0
浏览 1.7k