我有一個使用Spring-MVC,Spring-Security開發並託管在Tomcat 7上的Web應用程序。作爲一項安全措施,我還僅在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的響應還包括「允許」頭如下:
Allow: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH
- 列入了黑名單選項不支持/推薦的東西嗎?
- 爲什麼允許的http方法列表與我配置的不同?
- 我假設Tomcat是將Allow頭添加到響應中的那個 - 是嗎?
- 如何配置tomcat(或spring,如果是添加頭文件)而不將此頭文件添加到響應中?
我不相信Tomcat的增加了「允許」報頭,除非你得到一個'405方法不Allowed'響應,該HTTP規範* *需要*存在。 –
@ChristopherSchultz - 如果不是tomcat,那麼可以通過Allow頭添加403響應?我的假設是,由於web.xml具有安全約束,tomcat可能是阻止請求的人。那麼它是否仍然會通過春季的過濾器鏈? – ashutosh
如果問題沒有起作用,那麼將其他人標記爲解決問題或評論答案會有幫助。 – Journeycorner