X

So schützen Sie WordPress vor bösartigen URL-Anfragen

Snippets von IsItWP

Suchen Sie nach einer Möglichkeit, Ihre WordPress-Site vor bösartigen URL-Anfragen zu schützen? Während es wahrscheinlich ein Plugin dafür gibt, haben wir einen schnellen Code-Schnipsel erstellt, den Sie verwenden können, um WordPress vor bösartigen URL-Anfragen in WordPress zu schützen.

Anweisungen:

Sie müssen diesen Code nur zu Ihrer Theme-Datei .htaccess hinzufügen.

$request_uri = $_SERVER['REQUEST_URI'];
$query_string = $_SERVER['QUERY_STRING'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];

// request uri
if (	//strlen($request_uri) > 255 || 
	stripos($request_uri, 'eval(') || 
	stripos($request_uri, 'CONCAT') || 
	stripos($request_uri, 'UNION+SELECT') || 
	stripos($request_uri, '(null)') || 
	stripos($request_uri, 'base64_') || 
	stripos($request_uri, '/localhost') || 
	stripos($request_uri, '/pingserver') || 
	stripos($request_uri, '/config.') || 
	stripos($request_uri, '/wwwroot') || 
	stripos($request_uri, '/makefile') || 
	stripos($request_uri, 'crossdomain.') || 
	stripos($request_uri, 'proc/self/environ') || 
	stripos($request_uri, 'etc/passwd') || 
	stripos($request_uri, '/https/') || 
	stripos($request_uri, '/http/') || 
	stripos($request_uri, '/ftp/') || 
	stripos($request_uri, '/cgi/') || 
	stripos($request_uri, '.cgi') || 
	stripos($request_uri, '.exe') || 
	stripos($request_uri, '.sql') || 
	stripos($request_uri, '.ini') || 
	stripos($request_uri, '.dll') || 
	stripos($request_uri, '.asp') || 
	stripos($request_uri, '.jsp') || 
	stripos($request_uri, '/.bash') || 
	stripos($request_uri, '/.git') || 
	stripos($request_uri, '/.svn') || 
	stripos($request_uri, '/.tar') || 
	stripos($request_uri, ' ') || 
	stripos($request_uri, '<') || 
	stripos($request_uri, '>') || 
	stripos($request_uri, '/=') || 
	stripos($request_uri, '...') || 
	stripos($request_uri, '+++') || 
	stripos($request_uri, '://') || 
	stripos($request_uri, '/&&') || 
	// query strings
	stripos($query_string, '?') || 
	stripos($query_string, ':') || 
	stripos($query_string, '[') || 
	stripos($query_string, ']') || 
	stripos($query_string, '../') || 
	stripos($query_string, '127.0.0.1') || 
	stripos($query_string, 'loopback') || 
	stripos($query_string, '%0A') || 
	stripos($query_string, '%0D') || 
	stripos($query_string, '%22') || 
	stripos($query_string, '%27') || 
	stripos($query_string, '%3C') || 
	stripos($query_string, '%3E') || 
	stripos($query_string, '%00') || 
	stripos($query_string, '%2e%2e') || 
	stripos($query_string, 'union') || 
	stripos($query_string, 'input_file') || 
	stripos($query_string, 'execute') || 
	stripos($query_string, 'mosconfig') || 
	stripos($query_string, 'environ') || 
	//stripos($query_string, 'scanner') || 
	stripos($query_string, 'path=.') || 
	stripos($query_string, 'mod=.') || 
	// user agents
	stripos($user_agent, 'binlar') || 
	stripos($user_agent, 'casper') || 
	stripos($user_agent, 'cmswor') || 
	stripos($user_agent, 'diavol') || 
	stripos($user_agent, 'dotbot') || 
	stripos($user_agent, 'finder') || 
	stripos($user_agent, 'flicky') || 
	stripos($user_agent, 'libwww') || 
	stripos($user_agent, 'nutch') || 
	stripos($user_agent, 'planet') || 
	stripos($user_agent, 'purebot') || 
	stripos($user_agent, 'pycurl') || 
	stripos($user_agent, 'skygrid') || 
	stripos($user_agent, 'sucker') || 
	stripos($user_agent, 'turnit') || 
	stripos($user_agent, 'vikspi') || 
	stripos($user_agent, 'zmeu')
) {
	@header('HTTP/1.1 403 Forbidden');
	@header('Status: 403 Forbidden');
	@header('Connection: Close');
	@exit;
} 

Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzufügen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel in WordPress richtig kopieren / einfügen, damit Sie Ihre Website nicht versehentlich beschädigen.

Wenn Ihnen dieser Codeausschnitt gefallen hat, sollten Sie sich unsere anderen Artikel auf der Website ansehen, wie z. B.: 18 beste WordPress-Kommentar-Plugins und So erstellen Sie ein Popup-Formular in WordPress.

Kommentare   Hinterlassen Sie eine Antwort

  1. Danke

  2. Hallo Kevin, ist das dasselbe wie Secure WordPress (http://wordpress.org/extend/plugins/secure-wordpress/) macht, siehe Punkt 11?

  3. Benutzerebenen wurden in WP 3.0 als veraltet eingestuft. Sie sollten tatsächliche Berechtigungen oder Rollen in Ihrer current_user_can-Prüfung verwenden, z. B.
    if ( ! current_user_can( 'administrator' ) ) {

    1.  Sehr wahr, Drew, ich werde den Ausschnitt aktualisieren, danke!

  4. Kann ich diesen Code einfach zu meinem functions.php-Plugin hinzufügen?

    Ich würde auch gerne Code für den POST-Schutz sehen.

    1.  Der beste Weg, dies einzubinden, ist meiner Meinung nach, es in den Ordner mu-plugins/ zu legen. Wenn Sie keinen haben, können Sie einen erstellen. Dies zwingt das Plugin, als Muss-Plugin zu laufen. Laden Sie das obige ZIP herunter, das ist der beste Weg, es auszuführen.

  5. Dies schützt nur eine GET-Anfrage, wie index.php?name=eval(base64_decode(EVIL+CODE

    Aber im WordPress-Forum werden viele Leute über POST-Anfragen gehackt, und dann schützt dieser Code nicht.

    Haben Sie etwas Ähnliches, aber für POST?

Kommentar hinzufügen

Wir freuen uns, dass Sie sich entschieden haben, einen Kommentar zu hinterlassen. Bitte beachten Sie, dass alle Kommentare gemäß unserer Datenschutzrichtlinie moderiert werden und alle Links nofollow sind. Verwenden Sie KEINE Schlüsselwörter im Namensfeld. Führen wir ein persönliches und bedeutungsvolles Gespräch.

WordPress Start Checkliste

Die ultimative Checkliste für den Start Ihrer WordPress-Website

Wir haben alle wichtigen Checklistenpunkte für den Start Ihrer nächsten WordPress-Website in einem praktischen E-Book zusammengefasst.
Ja, senden Sie mir das kostenlose E-Book!