我怎么才能找出mod_security是否安装在我的apache服务器上? 我也想学习它的版本。
我有一些上传问题,我试图使用.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能够dynamic加载其他模块。
如果你有权访问中央configuration,你可以看看这个,并检查是否有这样一行:
LoadModule security_module modules / mod_security.so
如果有,那么你有mod_security加载 – 注意:这也可以在一个包含的configuration文件。
假设您的configuration位于/ etc / httpd中 – 您可以运行以下命令查找configuration是否存在:
grep -ir security_module /etc/httpd
(用中央configuration目录replace/etc/httpd )。
如果您无法访问服务器configuration,则可以在.htaccess中使用<IfModule mod_security.c>语句来查看是否已启用:
<IfModule mod_security.c> ...在这里执行某种redirect或重写... </ IfModule>configuration
希望这可以帮助。
在某些环境中,mod_security不是必需的,因为防火墙策略是通过硬件实现的; 使用Debian你应该find关于这个模块types的信息
grep -ir security_module /etc/apache2/mods-enabled/mod-security.conf
如果这个文件不存在,可能不包括托pipe提供商,所以检查情况也与他们。