如何禁用不安全的请求方式

本文详细介绍了HTTP1.0和1.1版本中支持的请求方法,包括GET、POST、HEAD、PUT、DELETE等,并提供了在web.xml中禁用特定请求方法的配置示例。同时,强调了禁用请求后进行错误页面设置的重要性。
部署运行你感兴趣的模型镜像

HTTP请求1.0支持:post  get  head

HTTP请求1.1的时候支持了:put delete  options trace connect

可以自行禁止使用哪些请求,只需要在web.xml中添加配置信息:

<security-constraint>      不通过编程就可以限制对某个资源的访问
        <web-resource-collection>
            <url-pattern>/*</url-pattern>                  拦截所有的url
            <http-method>PUT</http-method>        禁止put请求
            <http-method>DELETE</http-method> 禁止delete请求
            <http-method>HEAD</http-method>      禁止head请求
            <http-method>OPTIONS</http-method>禁止options请求
            <http-method>TRACE</http-method>    禁止trace请求
            <http-method>CONNECT</http-method>禁止connect请求
            <http-method>POST</http-method>        禁止post请求(不建议)
            <http-method>GET</http-method>           禁止get请求(不建议)
        </web-resource-collection>
        <auth-constraint></auth-constraint>             授权约束
    </security-constraint>

这样就禁止了所有的请求方式。

如果<url-pattern>报错可以在:<web-app  的xmlns:xsi里添加:                         http://www.springmodules.org/schema/cache/springmodulescache.xsd
               http://www.springmodules.org/schema/cache/springmodulesehcache.xsd

在禁止了一部分请求后,如果再次发送改请求会有相应的错误产生,如:405,403。。。。

建议添加相应的报错页面否则容易暴露自己的tomcat、版本,项目信息,太不安全。

关于post  get  head put delete  options trace connect的相关作用请查阅官方文档

您可能感兴趣的与本文相关的镜像

Qwen-Image

Qwen-Image

图片生成
Qwen

Qwen-Image是阿里云通义千问团队于2025年8月发布的亿参数图像生成基础模型,其最大亮点是强大的复杂文本渲染和精确图像编辑能力,能够生成包含多行、段落级中英文文本的高保真图像

### 完全禁用 Cesium 的默认网络请求 在某些离线或安全环境中,需要完全禁用 Cesium 的默认网络请求,以防止其加载外部图层、地形或其他资源。Cesium 默认使用 `Cesium.Resource` 类来处理网络请求,因此可以通过重写该类的方法来实现请求拦截和阻止。 #### 重写 `Cesium.Resource` 以阻止所有请求 可以通过拦截 `Cesium.Resource._createImage` 和 `Cesium.Resource._createXhr` 方法,直接拒绝所有图像和 XHR 请求。以下代码可实现这一目标: ```javascript const originalCreateImage = Cesium.Resource._createImage; Cesium.Resource._createImage = function(url, crossOrigin, deferred) { deferred.reject(new Error('All image requests are blocked.')); return; }; const originalCreateXhr = Cesium.Resource._createXhr; Cesium.Resource._createXhr = function(url, responseType, deferred, headers, overrideMimeType) { deferred.reject(new Error('All XHR requests are blocked.')); return; }; ``` 此方法可有效防止 Cesium 发起任何图像或数据请求,适用于完全离线运行的场景[^1]。 #### 初始化时禁用默认图层和地形请求 Cesium 默认会加载 Bing 地图图层和 Cesium World Terrain,这将触发网络请求。可以通过在创建 `Cesium.Viewer` 时禁用这些默认行为: ```javascript const viewer = new Cesium.Viewer('cesiumContainer', { imageryProvider: false, terrainProvider: false, baseLayerPicker: false, geocoder: false, timeline: false, animation: false, infoBox: false, selectionIndicator: false, homeButton: false, sceneModePicker: false, navigationHelpButton: false }); ``` 该配置确保 Cesium 会加载任何默认的在线影像图层或地形数据,从而避免网络请求的触发[^2]。 #### 替换默认图层为本地资源 如果仍需加载图像或地形数据,可以使用本地资源替代默认的在线图层。例如,使用本地图像作为底图: ```javascript var defaultImagery = new Cesium.ProviderViewModel({ name: "default", creationFunction: function () { return new Cesium.SingleTileImageryProvider({ url: "/images/earth.jpg", }); }, }); const viewer = new Cesium.Viewer("mapContainer", { selectedImageryProviderViewModel: defaultImagery, imageryProviderViewModels: [defaultImagery], terrainProviderViewModels: [], }); ``` 此方式可以替代默认的 Bing 图层,确保 Cesium 在离线环境下仍能正常显示地图内容[^4]。 #### 注意事项 - 禁用所有网络请求后,Cesium 将无法加载任何在线图层、模型或影像数据。 - 若需加载特定资源,应确保这些资源已本地化或通过本地服务器提供。 - 在某些情况下,未正确拦截网络请求可能导致控制台报错,需根据具体场景调整配置。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值