如何禁用 .htaccess 中的 mod_security 和 mod_security2

2024-03-05

我创建了一个 WordPress 插件,该插件很受欢迎,但我收到很多抱怨它不起作用。登录到许多用户的 WP 网站后(在询问管理员密码后),我注意到我无法轻松解决的最后一个问题是 mod_security 和 mod_security2 阻止了某些 AJAX 请求或 .htaccess ,这导致某些配置出现 500 错误。

那么首先为什么这段代码会导致某些服务器返回 500 错误

<IfModule mod_security2.c>
  SecRuleRemoveById 300015
  SecRuleRemoveById 300016
  SecRuleRemoveById 300017
  SecRuleRemoveById 950907
  SecRuleRemoveById 950005
  SecRuleRemoveById 950006
  SecRuleRemoveById 960008
  SecRuleRemoveById 960011
  SecRuleRemoveById 960904
  SecRuleRemoveById phpids-17
  SecRuleRemoveById phpids-20
  SecRuleRemoveById phpids-21
  SecRuleRemoveById phpids-30
  SecRuleRemoveById phpids-61

在其他服务器上,通过 id 删除规则会导致 500 错误:

<IfModule mod_security.c>
  SecRuleRemoveById 300015
  ...
  SecRuleRemoveById phpids-61
</IfModule>

所以目前唯一不会导致任何服务器崩溃的工作是

<IfModule mod_security.c>
  SecFilterEngine Off
  SecFilterScanPOST Off
</IfModule>

但这对于具有 mod_security2 的服务器来说还不够!

如何编写跨服务器 .htaccess 文件,以及应该添加哪些 IF 条件来在适用的任何地方禁用 mod_security 和 mod_security2,并且不会在其他配置上导致 500 错误?

编辑: 不仅在阿帕奇。任何使用 .htaccess 的地方。


Ryan C. Barnett,ModSecurity 社区经理声称:

2.x 中不再支持 .htaccess 文件,因为它也提高了 许多安全问题。

source: http://article.gmane.org/gmane.comp.apache.mod-security.user/3065 http://article.gmane.org/gmane.comp.apache.mod-security.user/3065

在 htaccess 上启用的唯一可能的配置如下(自 2.7.3 起),但您需要./configure --enable-htaccess-config:

  • SecAction
  • SecRule

  • SecRuleRemoveByMsg

  • SecRule按标签删除
  • SecRuleRemoveById

  • SecRuleUpdateActionById

  • SecRuleUpdateTargetById
  • SecRuleUpdateTargetByTag
  • SecRuleUpdateTargetByMsg

https://github.com/SpiderLabs/ModSecurity/blob/876d4f5f9558595c00f40af25ea6216386f15cd7/CHANGES#L69 https://github.com/SpiderLabs/ModSecurity/blob/876d4f5f9558595c00f40af25ea6216386f15cd7/CHANGES#L69

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何禁用 .htaccess 中的 mod_security 和 mod_security2 的相关文章

  • 如何使用 zend 导入 CSV

    如何使用 zend 框架导入 CSV 文件 我应该使用 zend file transfer 还是有任何我必须研究的特殊类 另外 如果我使用 zend file transfer 是否有任何特殊的 CSV 验证器 你不必使用任何 zend
  • Facebook“喜欢”按钮,喜欢另一个页面/URL

    我有一个链接列表 每个单独的页面上都有一个 喜欢 按钮来 喜欢 该页面 但我想要列表中每个链接旁边有一个 喜欢 按钮 该按钮会喜欢旁边链接的 URL 就像单击链接然后单击 喜欢 按钮一样 我该怎么做呢 要在每个单独的页面上创建按钮 我使用以
  • PHP:会话 |无法解码会话对象

    我尝试将电子商务功能添加到遗留项目中 因此我仍然需要旧的会话处理程序 我使用 PHP v7 1 14 和 Session2DB https github com voku session2db tree 4 0 0 https github
  • 将 .php URL 重定向到不带扩展名的 URL [重复]

    这个问题在这里已经有答案了 可能的重复 使用 htaccess 删除 php 扩展名 https stackoverflow com questions 4026021 remove php extension with htaccess
  • 如何使用 gradle 将 org.apache.commons.lang3 添加到 Android Studio

    Due to 这个问题 https stackoverflow com questions 994331 java how to decode html character entities in java like httputility
  • 如何在 PHP 中进行静态代码分析? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有PHP源文件的静态分析工具 二进制文件本身可以检查语法错误 但我正在寻找功能更多的东西 例如 未使用的变量赋值 未先初始化就分配到的
  • htaccess隐藏php扩展时出错,只隐藏html

    我在使用 htaccess 隐藏网站上的 php 扩展时遇到问题 我看到很多网站试图修复它 但没有任何结果 但只有 html 扩展名对我来说是隐藏的 在我的 htaccess 上 我用这个来隐藏扩展 它就在错误页面之后 这是我的 htacc
  • PHP 论坛软件可以轻松与现有网站集成吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个现有的 php 网站 已经设置了用户系统 注册 身份验证 丢失密码等 我决定添加一个留言板并将其与现有网站集成 在一个网站上注册应
  • 使用 php 和 sendmail 发送有关测试 docker 容器的电子邮件

    我用的是ubuntu 16 04 我有一个 测试 docker docker compose 容器运行 php 5 6 和 apache 2 4 在生产平台 没有docker 上 邮件是通过sendmail发送的 如何在docker容器上发
  • PHP:将数组添加在一起

    有人可以帮我解释一下吗 我有两段代码 其中一个按我的预期工作 但另一个则不然 这有效 a array a gt 1 b gt 2 b array c gt 3 c a b print r c Output Array a gt 1 b gt
  • 如何在 Asp.Net MVC 上实现客户端 Ajax 登录(Asp.Net Webforms 解决方案的链接位于此处)

    我正在尝试在 Asp Net MVC 上实现客户端 ajax 登录 我以前在 WebForms 上设置得很好 但现在我已经转向 MVC 这给我带来了一些麻烦 如果您想要有关 Asp Net Webforms 的客户端 Ajax 登录的教程
  • 通过另一个二维数组中的行过滤二维数组的行

    我有两个数组 我正在使用array diff assoc 以获得差异 但它总是返回common set结果中的行 它应该返回new q sets排 我的方法有什么问题吗 样本数据 array1 12 gt new q sets 11 gt
  • PHP上传问题

    我使用了一些脚本来开始在我的开发计算机上上传文件 问题是 尽管此操作预期很容易 但每当我尝试上传图像时 Apache 似乎都会超时 上传设置为On和tmp目录设置在php ini 我尝试上传主要内容gif来自谷歌 一个8 36KB图像 它应
  • 将程序存储在 phpMyAdmin 中

    我必须将存储过程添加到 MySQL 数据库 问题是托管提供php我的管理员来管理数据库 我在网上搜索了一下 想法是运行创建程序的MySQL本机语句 但由于程序的代码通常可能有 我们必须更改 MySQL 中的分隔符 php我的管理员没有这个选
  • PHP mysql_num_rows 死错误

    我想创建一个页面 用户可以在其中添加他们的信息 我已经创建了该页面 但我真正的问题是代码 我有一些问题 这部分代码
  • php echo 不工作

    我的代码似乎不起作用 单选按钮出现 但旁边什么也没有 似乎 mysql fetch array 由于某种原因无法工作 因为我已经玩过代码并反复测试它以查找代码似乎遇到的位置出现问题并停止工作 有人可以告诉我出了什么问题吗 欢呼声我是新手 最
  • 如何使用 jquery imgAreaSelect 用 php 裁剪图像?

    我正在使用以下 javascript 代码来实例化 jquery图像区域选择 http odyniec net projects imgareaselect 裁剪我的图像 document ready function ladybug im
  • PHP 对象创建和内存使用

    一个基本的虚拟类 class foo var bar 0 function foo function boo echo memory get usage echo n foo new foo echo memory get usage ec
  • PHP + FTP删除文件夹中的文件

    我刚刚编写了一个 PHP 脚本 它应该连接到 FTP 并删除特殊文件夹中的所有文件 它看起来像这样 但我不知道需要什么命令来删除文件夹日志中的所有文件 任何想法
  • 从字符串中的链接中删除基本 URL

    我有一个带有图像链接的字符串 image link raw http website com files 2012 10 image001 png 现在我想删除http website com然后就得到 files 2012 10 imag

随机推荐

  • 在 Android 上开发电子邮件客户端应用程序

    我正在尝试开发一个用于在Android平台上发送和接收电子邮件的小应用程序 目前我一直在使用 Javamail api 尝试发送电子邮件 但是我想 如果我使用 javamail 实现我的应用程序 我将如何接收电子邮件并从我的应用程序收到我已
  • 一个 python 脚本可以同时运行 python 2.x 和 python 3.x

    我有数千台服务器 linux 有些只有 python 2 x 有些只有 python 3 x 我想编写一个脚本 check py 可以在所有服务器上运行 就像 check py 一样 无需使用 python check py 或 pytho
  • 如何将 Azure Active Directory 身份验证添加到 Razor Pages 应用程序?

    据我了解 您可以通过执行 新建项目 gt ASP NET Core Web 应用程序 gt 提供应用程序名称 gt Web 应用程序 在 Visual Studio 2019 中创建 Razor Pages 应用程序 以下教程演示如何将 A
  • 删除整数中的重复数字[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在技术回合中遇到过这个程序 他们给了我这个程序来删除给定整数中的重复数字不使用数组或字符串 Example int i 12313425
  • jquery change() 警报一键触发 6 次?

    jQuery document ready function c5sliderSelect change function alert change clicked 当我更改选择列表项时 我收到 6 条警报 不知道为什么 我的标记中只有一个
  • JTable 中特定列的比较器

    如何为 JTable 中的特定列设置自定义比较器 我的表的第三列包含双精度值的字符串表示形式 我想为该列创建一个比较器 以便当我单击该列的标题时 它将根据该比较器进行排序 第一个问题是 如果您正在管理双打 为什么您正在处理字符串 如果您使用
  • 防止 Backbone.js 模型在首次添加到集合时进行验证

    首次创建新模型时 有没有办法在 Backbone js 中抑制模型验证 在我的应用程序中 我有一个包含任意数量模型的集合 这些模型表示为列表项 用户可以单击每个项目上的按钮 这会在当前项目下方插入一个新的空项目 显然 空项目未通过验证 因为
  • 如何将 IPV6 地址转换为 IPV4 地址?

    我有使用 IPv4 地址的应用程序 它存储它们很长 因此它只理解 IPv4 地址 是否可以使用Java将IPv6地址转换为IPv4地址 While IPv4 地址范围有 IPv6 等效项 https en wikipedia org wik
  • archiveBaseName 应用于所有构建类型

    我有以下应用程序build gradle android compileSdkVersion 23 buildToolsVersion 23 0 1 defaultConfig applicationId io gresse hugo an
  • 使用 const 断言,如何从任意嵌套对象中提取文字类型?

    这个问题是后续问题this one https stackoverflow com q 76288737 6923555 其中我有一个深度为 2 的结构 const grandkids Karen Ava Alice Amelia Emma
  • 预约和行项目

    我正在构建一个管理应用程序来帮助管理我的移动汽车美容公司 希望还有其他公司 我正在努力弄清楚如何对某些数据进行建模 这个问题与我之前发布的问题相关 但我在下面转载了相关信息 数据库设计 谷歌应用引擎 https stackoverflow
  • 签名字段中的“锁定”字典是签名后签名损坏的原因

    在 PDFBox 2 x 中我把 Lock字典到签名字段 import org apache pdfbox cos COSDictionary import org apache pdfbox cos COSName import org
  • 三星 Galaxy Note 模拟器

    我正在尝试为 Samsung Galaxy Note 创建模拟器 但它不起作用 我尝试了以下配置 sdk r17 平台2 3 3 分辨率 1280x800 密度320 模拟器皮肤已上线 但它没有任何导航键 菜单 返回和主页键 也没有显示键盘
  • XQuery 3.0 相当于 xquery 1.0 版本中的 group by

    我有以下代码 并且我的 saxon jar 文件无法读取 xquery 3 0 for item in doc order xml item group by d item dept order by d return
  • iPad 上的最大沙箱大小是多少?

    我正在编写一个充当媒体播放器 视频和照片 的 iPad 应用程序 我知道应用程序有 2GB 大小限制 但这就是应用程序下载时的大小限制吗 或者在应用程序的整个生命周期中沙箱大小的限制 例如 如果我的小应用程序稍后将各种媒体文件下载到其沙箱中
  • logger.log 未记录到 alfresco.log

    我正在尝试在与 Alfresco 中的模板页面相对应的 javascript 文件中使用 logger log Hello 我设置了以下内容 在custom log4j properties中 覆盖log4j properties log4
  • 仅显示适合的项目数量,然后展开以紧密贴合

    我有一个容器 我想水平地容纳多个孩子 但我知道我的孩子数量比通常容纳的要多 只使用CSS 我如何只显示适合的项目 并将它们展开以紧密贴合 期望的结果
  • 为 Azure Api 管理 Git 存储库生成密码

    Azure Api 管理可以选择为集成 git 存储库创建有时限的密码 作为 VSTS 发布管理的一部分 我们希望将更改自动推送到此 git 存储库 我们不想每个月通过 Azure 门户创建一个新的 git 密码 发布者门户提供证书 htt
  • 无法使用 jquery 的单击事件处理程序来检测右键单击

    在尝试使用 jquery 检测鼠标右键单击时 我注意到单击事件处理程序似乎不会通过鼠标右键单击触发 而 mousedown 或 mouseup 事件处理程序则会触发 例如 右键单击测试 div 后 会出现以下警报 正在测试 test mou
  • 如何禁用 .htaccess 中的 mod_security 和 mod_security2

    我创建了一个 WordPress 插件 该插件很受欢迎 但我收到很多抱怨它不起作用 登录到许多用户的 WP 网站后 在询问管理员密码后 我注意到我无法轻松解决的最后一个问题是 mod security 和 mod security2 阻止了