GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So beheben Sie den Fehler – ModSecurity:Zugriff verweigert mit Code 44 [Apache]

Frage: Ich habe versucht, eine PDF-Datei mit einer Größe von 2 MB in MediaWiki hochzuladen, und bin auf 500 internal server error gestoßen und dieser Fehler scheint aufzutreten, wenn ich eine größere Datei hochlade. Ich habe php.ini schnell verifiziert , die die folgenden Werte hatte:

upload_max_filesize = 32M
post_max_size = 20M

und unten ist der Schnappschuss von httpd error_log.

ModSecurity: Access denied with code 44 (phase 2). Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" required.

Ich verwende Apache und MediaWiki Version 1.23.

Lösung:

Die maximale Datei-Upload-Größe und die POST-Größe können auf zwei Arten gesteuert werden – über php.ini und mod_security Erweiterung.

Überprüfen Sie, ob der Webserver mit der mod_security-Erweiterung wie unten gezeigt aktiviert ist:

# apachectl -M |grep security

Sie können auch nach modsecurity.d suchen Ordner unter /etc/httpd und mod_security.conf Datei in /etc/httpd/conf.d/ . (Der Apache-Installationspfad kann in Ihrem System anders sein).

Hinweis: Standardmäßig ist mod_security in Apache aktiviert und lädt auch einige empfohlene Konfigurationen.

Öffnen Sie /etc/httpd/conf.d/mod_security.conf Datei und suchen Sie nach der folgenden Zeile:

SecRuleEngine On

Sie können SecRuleEngine deaktivieren (SecRuleEngine aus) oder passen Sie die Werte von SecRequestBodyLimit an und SecRequestBodyNoFilesLimit .

Warnung :Es empfiehlt sich nicht, mod_security zu deaktivieren, da es sich um eine Firewall für Webanwendungen handelt, die SQL-Injection, Cross-Site-Scripting-Angriffe, Session-Hijacking, schädliche User-Agents und andere bösartige Bots verhindert. Passen Sie stattdessen die folgenden Variablen an.

SecRequestBodyLimit 13107200          #12.5 MB
SecRequestBodyNoFilesLimit 131072  #128kb

Anschließend müssen Sie den Apache-Webserver neu starten

# /etc/init.d/httpd restart

Falls Sie ein gemeinsam genutztes Webhosting verwenden und keine Administratorrechte zum Neustarten des Webservers haben, können Sie .htaccess erstellen Datei wie unten gezeigt.

#Verwenden der .htaccess-Datei zum Deaktivieren von SecRuleEngine

<IfModule mod_security.c>
 <Files async-upload.php>
 SecFilterEngine Off
 SecFilterScanPOST Off
 </Files>
 </IfModule>

Das obige Snippet schaltet async-upload.php aus. Das ist es!


Linux
  1. Wie behebt man „FEHLER:WARNUNG:Datei-Audio-Codec kann nicht mit ffprobe abgerufen werden“? [Gelöst]

  2. Wie behebt man den Metasploit-Fehler – erfordert die Installation des Bundler-Gems? [Gelöst]

  3. So beheben Sie den Fehler „Verifizierung des Hostschlüssels fehlgeschlagen“

  4. tr Befehl - wie man die Zeichenfolge \n durch einen tatsächlichen Zeilenumbruch (\n) ersetzt

  5. gdb stoppt in einer Befehlsdatei, wenn ein Fehler auftritt. Wie weitermachen trotz des Fehlers?

Verwendung des chgrp-Befehls mit Beispielen

So beheben Sie den 500 Internal Server Error in WordPress

Problembehebung:Fehler „Benutzer befindet sich nicht in der Sudoers-Datei“.

So beheben Sie Konvertierungsfehler mit Calibre

Wie kann ich die Berechtigungen meiner Dateien korrigieren?

So finden Sie Dateien mit Dutzenden von Kriterien mit dem Bash-Suchbefehl