我搜索了很多次,并尝试对 .htaccess 文件进行各种调整,试图关闭特定 cgi 脚本(uber uploader)的 mod_security,但似乎没有任何效果。
我在网上看到的最流行的一个是:
# 关闭 mod_security 过滤。SecFilterEngine
Off
# 下面的可能不需要,
# 但安全总比后悔好。SecFilterScanPOST
Off
对我来说这看起来相对简单 - 如果“SecFilterEngine”以某种方式与 mod_security 相关的话。可惜它完全没有效果!
是否有人建议我可以简单地禁用它以请求我的 cgi-bin 目录中的任何文件?
答案1
从记忆中看,Dreamhost 不允许您关闭 mod_security。您确定这是 mod_security 的问题吗?Dreamhost 需要您运行具有非常具体的 chmod 值的脚本,而这一直是我遇到的问题。显示您收到的任何错误消息以及错误日志中的相关条目可能会有所帮助。
如果您确定这是 mod_security 的问题,请咨询 Dreamhost。他们无法为您关闭它,但可能会建议一些解决方法或替代方案。他们的响应速度非常慢,并且并非总是能够提供帮助,但有时您会很幸运。
答案2
我想在这里发布一些可能有助于人们让 Ubr 在 Dreamhost 托管的网站上运行的东西。
我在 Dreamhost 上有一个 Concrete5 网站,并使用 Ubr 处理播客系统的媒体上传。我遇到了严重的问题,旧的 flength 问题,然后进度条无法完成,因此重定向脚本从未触发。
首先,我在 Dreamhost 控制面板中关闭了 FastCGI - 这给 Concrete5 带来了真正的问题。
我发现我需要在我的 webroot 的 cgi-bin 文件夹中的 .htaccess 文件中使用以下块:
关闭 mod_security 过滤。
SecFilterEngine 关闭
下面的内容可能不需要,
但谨慎一点总是好的。
SecFilterScanPOST 关闭
当我尝试在我的 webroot 中的 .htaccess 文件中使用类似的块时,我的 Concrete5 网站停止了工作。
我也做了:
dos2unix ubr_upload.pl chmod 0755 ubr_upload.pl dos2unix .htaccess chmod 0644 .htaccess
我将 ubr_ini.php 和 ubr_upload.pl 中的 $TEMP_DIR 设置为 /tmp/ubr_temp/,并让 CGI 自行创建此文件夹。我从未触碰过它的权限或所有权。
我花了整整三天的时间来解决这个问题 - 希望它对其他人有所帮助!