A desativação COLOCAR RASTREAMENTO de solicitação de exclusão no Apache Tomcat 6.0
-
11-07-2019 - |
Pergunta
Eu preciso desativar PUT, DELETE & RASTREAMENTO de pedidos de HTTP no meu Servidor de aplicações Apache Tomcat 6.0.
Todas as outras fontes, tenho procurado até agora, tenho me dirigiu para o parâmetro de limite no o httpd.conf, Daí eu iria colocá-lo antes de a mão que eu não estou usando o Servidor Web Apache, e as solicitações são directamente a ser processado pelo Tomcat, e portanto, não há o httpd.conf na foto.
Por favor, sugira como devo fazê-lo no Tomcat?
Solução
Dentro do seu webinf, adicione que você pode adicionar uma restrição de segurança:
<security-constraint>
<web-resource-collection>
<web-resource-name>Forbidden</web-resource-name>
<url-pattern>/blah/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>empty_role</role-name>
</auth-constraint>
</security-constraint>
Como alternativa, você pode fazer estas duas coisas:
Em server.xml, edite o <connector>
Elemento, adicione um atributo: allowTrace="false"
. Em seguida, edite o padrão: $ catalina_home/conf/web.xml
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<!-- blah blah blah -->
<init-param>
<param-name>readonly</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
Outras dicas
A resposta encontra-se na especificação servlet.Observando-se a API de servlet: http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/javax/servlet/http/HttpServlet.html você vai ver que os diferentes métodos de lidar com diferentes tipos de solicitações HTTP.Além disso, é um ótimo recurso chamado de filtros que pode ser usado para dispor de algum código de cerca de servlets e filtros.
Assim, as soluções são:
- Modificar o servlet para suportar apenas fazer e receber;ou
- Criar um filtro para limpar os outros tipos de solicitações.