Apache-2.2
如何將 RegEx 用於 mod_security
我在我的 Apache/2.2.19 (Win32) 伺服器上使用 mod_security + core ruleset/2.2.1 有一個這樣的目錄/站點設置
/website1/login.php /website2/login.php /website3/login.php /websiteN/login.php
在我的 modsecurity_crs_10_config.conf 我有
setvar:'tx.brute_force_protected_urls=login.php'
問題是除非我輸入每個 login.php 頁面的完整路徑,否則它將無法工作,如下所示:
setvar:'tx.brute_force_protected_urls=/website1/login.php /website2/login.php andSoOn'
我已經嘗試過使用 RegEx 的其他方法來解決它(例如 /(.*)/login.php),但我似乎無法理解它。
所以,問題基本上是;您如何在伺服器上名為 login.php 的所有頁面上強制執行 BFP?
謝謝。
我讓它工作了。在“modsecurity_crs_11_brute_force.conf”中,我不得不更改第 39 行:
SecRule REQUEST_FILENAME "!@within %{tx.brute_force_protected_urls}" ...
到
SecRule REQUEST_FILENAME "!@contains %{tx.brute_force_protected_urls}" ...
在“modsecurity_crs_10_config.conf”中,有:
setvar:'tx.brute_force_protected_urls=/login.php' ...
謝謝您的幫助。
試試這個:
setvar:'tx.brute_force_protected_urls=/login.php'
如果它不起作用,我建議您啟用調試以查看日誌的內容。