在 Apache Tomcat 6.0 中禁用 PUT TRACE DELETE 请求
我需要禁用 PUT、DELETE 和 在我的应用程序服务器 Apache Tomcat 6.0 上跟踪 HTTP 请求。
到目前为止,我搜索过的所有其他来源都将我引导到 httpd.conf 中的 limit 参数,因此我事先声明我没有使用 Apache Web Server,并且请求是直接由Tomcat处理,因此图中没有httpd.conf。
请建议我应该如何在 Tomcat 上执行此操作?
I need to disable PUT, DELETE & TRACE HTTP requests on my Application Server, Apache Tomcat 6.0.
All other sources, i have searched till now, have directed me towards the limit parameter in httpd.conf, Hence I'd put it before-hand that I am not using Apache Web Server, and requests are directly being handled by Tomcat, and so there is no httpd.conf in picture.
Please suggest how should I do it on Tomcat?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 WEBINF 内部,添加您可以添加安全约束:
或者,您可以执行以下两件事:
在 server.xml 中,编辑
元素,添加一个属性:allowTrace= “假”。 然后编辑DefaultServlet:$CATALINA_HOME/conf/web.xml
Inside your WEBINF, add you can add a security constraint:
Alternatively, you can do these two things:
In server.xml, edit the
<connector>
element, add an attribute:allowTrace="false"
. Then edit the DefaultServlet: $CATALINA_HOME/conf/web.xml答案就在 servlet 规范中。 查看 servlet 的 API: http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/javax/servlet/http/HttpServlet.html 你会看到不同的方法处理不同类型的 HTTP 请求。 此外,还有一个称为过滤器的出色功能,可用于将一些代码包装在 servlet 和过滤器周围。
所以解决办法是:
The answer lies in the servlet specification. In looking at the API for the servlet: http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/javax/servlet/http/HttpServlet.html you'll see that different methods handle different kind of HTTP requests. Also, there is a great feature called filters that can be used to wrap some code around servlets and filters.
So the solutions are: