gpt4 book ai didi

java - 删除 'Allow' 响应 header

转载 作者:行者123 更新时间:2023-11-28 23:28:43 26 4
gpt4 key购买 nike

我有一个使用 Spring-MVC、Spring-Security 开发并托管在 Tomcat 7 上的网络应用程序。作为安全措施,我还在 web.xml 中仅将某些 HTTP 方法列入白名单,如下所示:

<security-constraint>
<web-resource-collection>
<web-resource-name>restricted methods</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method-omission>GET</http-method-omission>
<http-method-omission>POST</http-method-omission>
<http-method-omission>DELETE</http-method-omission>
</web-resource-collection>
<auth-constraint />
</security-constraint>

在这一点上,我期望的是,如果我对任何端点进行了排除的 http 方法调用,那么我将收到 403 响应——并且此设置有效。但是 403 响应还包含一个“允许” header ,如下所示:

Allow: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH
  1. 黑名单 OPTIONS 不是受支持/推荐的东西吗?
  2. 为什么允许的 http 方法列表与我配置的不同?
  3. 我假设 Tomcat 是将 Allow header 添加到响应的那个 - 对吗?
  4. 我如何配置 tomcat(或者 spring,如果它正在添加 header )不将此 header 添加到响应中?

最佳答案

您可以关闭默认值,而是使用白名单,这比黑名单方法更安全:

<headers defaults-disabled="true">
yourheaders...
</headers>

微调documentation可能有帮助。

更新(完全排除路径):

<http auto-config="true" security="none">
<intercept-url pattern="/**" method="OPTIONS" />
</http>

关于java - 删除 'Allow' 响应 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com