我有一个Apache Tomcat 7.它运行一个可通过HTTP GET和POST访问的servlet。我想阻止对这个servlet的所有POST请求,这些请求不是来自localhost。必须仍可以从任何地方通过HTTP GET访问servlet。
如何配置servlet以实现这一目标?
答案 0 :(得分:0)
对于任何用户,拒绝访问PUT,POST,DELETE,OPTIONS和TRACE方法“。在库存Tomcat安装中,如果我要向网站发送HTTP OPTIONS请求,它将起作用在我新近约束的配置中,OPTIONS请求现在失败,HTTP状态代码为403 - 禁止。
示例安全约束
<security-constraint> <web-resource-collection> <web-resource-name>restricted methods</web-resource-name> <url-pattern>/*</url-pattern> <http-method>PUT</http-method> <http-method>POST</http-method> <http-method>DELETE</http-method> <http-method>OPTIONS</http-method> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint /> </security-constraint>