apache - 如何在 Apache 2.4 中安全地允许对单个程序进行 PUT
问题描述
我正在使用 Magento(版本 2.2.5),我似乎需要允许对我的服务器(至少 Magento 程序)的 PUT 请求。
具体而言,在 Magento 上输入折扣代码时,结帐页面上的“501(未实施)”失败。但是,折扣代码部分在购物车页面中确实有效。区别似乎是购物车页面使用 GET 方法,而结帐页面使用 PUT 方法。
如何使 PUT 方法适用于 Magento?这是可以通过.htaccess 完成的吗?如果需要为整个服务器完成,是否存在允许 PUT 请求的安全风险?
我在某处看到这可能与 Apache 的“mod_security”有关。我是新手,我不想让服务器暴露于任何潜在的漏洞。
先感谢您。
解决方案
Apache 默认允许 PUT,但是有很多不同的方式来禁止这种方法。ModSecurity(通过自定义规则或核心规则集)就是其中之一。但是,ModSecurity 默认不使用状态码 501。虽然它可以定制,但我怀疑它。
在这条线下,如果不访问服务器的错误日志或与有权访问的人进行通信,我认为您无法解决这个谜团。
推荐阅读
- docker - 有没有办法在外部尝试连接到根 ip 和端口时启动 docker 容器?
- .net-core - Dotnet 核心 CORS - PATCH 方法未包含在 Access-Control-Allow-Methods 中
- elasticsearch - 如何在 metricbeat 中激活 diskio 变量?
- r - 恢复默认的 R sf map plot 默认图例的最简单方法是什么?
- python - 试图绘制对应于 x,y,z 的 3 个不同的数组
- c# - 运轮统一停止时如何选择?
- node.js - PM2不在集群模式下运行子进程
- go - 将 go-pg 查询转换为普通 sql
- react-native - 响应 React Native 字体大小
- c# - 如何从具有大量依赖项的 XSD 文件生成 C# 类?