禁用 WebDAV,或者禁止不需要的 HTTP 方法

时间:2025-02-16 15:06:42

WebDAV (Web-based Distributed Authoring and Versioning)是基于 HTTP 1.1 的一个通信协议。它为 HTTP 1.1 添加了一些扩展(就是在 GET、POST、HEAD 等几个 HTTP 标准方法以外添加了一些新的方法),使得应用程序可以直接将文件写到 Web Server 上,并且在写文件时候可以对文件加锁,写完后对文件解锁,还可以支持对文件所做的版本控制。这个协议的出现极大地增加了 Web 作为一种创作媒体对于我们的价值。基于 WebDAV 可以实现一个功能强大的内容管理系统或者配置管理系统。 

如何禁止

如何禁止DELETE、PUT、OPTIONS、TRACE、HEAD等协议访问应用程序应用程序呢?

第一种,在项目中添加

<<!-- 禁用不必要HTTP方法 -->
<security-constraint>
    <web-resource-collection>
        <url-pattern>/*</url-pattern>
        <http-method>PUT</http-method>
        <http-method>DELETE</http-method>
        <http-method>OPTIONS</http-method>
        <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint></auth-constraint>
</security-constraint>

另外一种(没试过)

修改应用程序的文件的协议

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="/xml/ns/j2ee"

 xmlns:xsi="http:///2001/XMLSchema-instance"

 xsi:schemaLocation="/xml/ns/j2ee/web-app_2_4.xsd"

 version="2.4">