Hemen hemen her istek üzerine aşağıdaki hatayı alıyorum:
Rule execution error - PCRE limits exceeded (-8): (null).
Bir sürü Google'dan sonra tek çözüm
a) Aşağıdakileri httpd.conf dosyasına ekleyin
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
b) php.ini'nize aşağıdakileri ekleyin
pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000
c) -disable-pcre-match-limit
Seçenekle derlenmiş bir sürüm kullanın .
Aşağıdaki çalıştırıyorum:
Apache için ModSecurity / 2.5.12 ( http://www.modsecurity.org/ ).
Suhosin-Patch mod_ssl / 2.2.16 OpenSSL / 0.9.8 ile Apache / 2.2.16 (Debian) PHP / 5.3.3-7 + squeeze8
Benim kurallarım ModSec için, bu yazı en yeni OWASP ModSecurity Çekirdek Kural Seti Proje sürümü (CRS) sürüm 2.2.3 kullanıyorum.
Benim httpd.conf temelde oluşur:
<IfModule security2_module>
SecUploadDir /var/asl/data/suspicious
SecDataDir /var/asl/data/msa
SecTmpDir /tmp
SecAuditLogStorageDir /var/asl/data/audit
Include modsecurity.d/modsecurity_crs_10_config.conf
Include modsecurity.d/activated_rules/*.conf
SecRuleEngine On
# Debug log
SecDebugLog /var/log/apache2/modsec_debug.log
SecDebugLogLevel 3
# Serial audit log
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus ^5
SecAuditLogParts ABIFHZ
SecAuditLogType Serial
SecAuditLog /var/log/apache2/modsec_audit.log
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
</IfModule>
<IfModule mod_php5.c>
php_admin_flag pcre.backtrack_limit 10000000
php_admin_flag pcre.recursion_limit 10000000
</IfModule>
Hangi benim modsecurity.d
dizin içinde CRS kendi yükleme dosyasında sadece tüm varsayılan kurallar vardır. Ayrıca pcre sınırlarını 150000000 ve 100000000000 ve daha fazlasına ayarladım, ancak mevcut değil.
Sonuç olarak:
çözümler a
ve b
çalışmıyor, ben yapmak değil büyük ölçüde tercih c
Gerçekten anlamıyorum olarak derleme gibi / ....
Başka fikri olan var mı?