如何确定我的 apache 服务器上是否安装了 mod_security?我也想了解它的版本。
我遇到了一些上传问题,我尝试使用 .htaccess 禁用 mod_security。但这开始产生 500 个内部服务器错误。
我在某处读到,根据我的 mod_security 版本,我可能无法使用 .htaccess 禁用它。所以我想了解我是否安装了 mod_security 以及它是什么版本。
我在一个centos 5盒子上。
谢谢!
更新 -1 xxxxxxxxxxxxx
以下输出是否意味着我没有安装 mod_security?
[root@u11 htdocs]# httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
否 - 上面列出的输出仅描述了模块中的预编译。
然而,
mod_so.c
该条目的存在意味着 Apache 能够动态加载其他模块。如果您可以访问中央配置,则可以查看此内容并检查是否有类似以下的行:
如果有,那么您已经加载了 mod_security - 注意:这也可能在包含的配置文件中。
假设您的配置位于 /etc/httpd - 您可以运行以下命令来查找配置是否存在:
grep -ir security_module /etc/httpd
(替换
/etc/httpd
为中央配置目录)。如果您无权访问服务器配置,您可以使用
<IfModule mod_security.c>
.htaccess 中的语句来查看它是否已启用:希望这可以帮助。
在某些环境中,不需要 mod_security,因为防火墙策略是通过硬件实现的;使用 Debian,您应该找到有关此模块类型的信息
如果此文件不存在,则主机提供商可能不会包含此文件,因此请与他们一起检查情况。