Apache-2.2

我可以通過 .htaccess 禁用 ModSecurity 規則嗎?

  • April 5, 2017

在我的網站的新伺服器 centOS 上,當我嘗試通過 PHP 上傳圖像並且文件名包含特殊字元(如“my’file.jpg”)時,我得到一個禁止頁面,我什至無法嘗試通過 PHP 處理錯誤

在我發現的日誌文件中

ModSecurity: Access denied with code 403 (phase 2). Match of "eq 0" against "MULTIPART_STRICT_ERROR" required. [file "/etc/httpd/modsec/00_asl_zz_strict.conf"] [line "53"] [id "330793"] [rev "2"] [msg "Multipart request body failed strict validation: PE 0, BQ 0, BW 0, DB 0, DA 0, HF 0, LF 0, SM , IQ 1, IH 0, IP 0, FL 0"] [severity "CRITICAL"]

在聯繫伺服器支持團隊之前,我想知道是否可以通過 .htaccess 或 Plesk 12 面闆對某些目錄禁用此規則

我試圖將它添加到根文件夾中的 .htaccess 中,從類似的問題中找到,但我得到一個內部伺服器錯誤頁面

<Directory /var/www/vhosts/mydomain.com/httpdocs/test-file-upl>
<IfModule security2_module>
   SecRuleRemoveById 330793        
</IfModule>
</Directory>

在我發現的日誌中

[core:alert] /var/www/vhosts/mydomain.com/httpdocs/.htaccess: <Directory not allowed here

即使我刪除 IfModule security2_module 部分,錯誤似乎也會出現

您不能在文件中使用Directory指令。.htaccess

文件中的設置範圍.htaccess已由.htaccess文件所在的目錄定義。

換句話說,裡面的設置/var/www/vhosts/mydomain.com/httpdocs/.htaccess對目錄/var/www/vhosts/mydomain.com/httpdocs/和其中的所有子目錄都有效。

如果您想將設置應用於 /var/www/vhosts/mydomain.com/httpdocs/test-file-upl 您需要將您的設置放在一個/var/www/vhosts/mydomain.com/httpdocs/test-file-upl/.htaccess文件中,如下所示:

<IfModule security2_module>
   SecRuleRemoveById 330793        
</IfModule>

(或者更好的是,根本不要依賴 .htaccess 文件,並將您的設置包含在您的 apache 配置文件中。)

引用自:https://serverfault.com/questions/842701