2016-07-05 26 views
1

Um meine Wordpress-Seite zu schützen, die immer unter Angriffen ist, versuche ich einen Filter (dh 404) an alle Anfragen, die versuchen, die wp-config.php hochzuladen. Die Anforderungen sind:Ningx: Wie Filter Anfrage mit einem bestimmten Abfrageparameter Wert?

GET /wp-content/plugins/recent-backups/download-file.php?file_link=../../../wp-config.php 
GET /wp-content/themes/parallelus-mingle/framework/utilities/download/getfile.php?file=../../../../../../wp-config.php 
GET /wp-content/plugins/imdb-widget/pic.php?url=../../../wp-config.php 

Deshalb möchte ich zu jeder Anfrage zurückzukehren 404, die eine wp-config.php in einem Anforderungsparameter haben. Glaubst du, dass es möglich ist?

Dankten im Voraus

Antwort

0

Sie $request_uri für die gesamte URI einschließlich Abfrage-String testen, oder $args (aka $query_string) für die gesamte Abfrage-String.

Eine if Anweisung im oberen Bereich des server Blocks sollte alle Anforderungen ausschließen, die Sie sperren möchten.

Zum Beispiel:

if ($request_uri ~* wp-config\.php) { return 404; } 

Siehe this caution über die Verwendung von if.

+0

Vielen Dank für diese Antwort. Es funktioniert, aber ich frage mich, ob es jemals mit der Vorsicht auf dem if klappt. Ich muss sagen, es ist mir nicht klar, ob das "ob" funktionieren wird oder nicht: "ob es böse ist" -> vielleicht seine Arbeit, vielleicht nicht? – jmcollin92

+0

Der 'return' ist innerhalb eines' if' Blocks vollkommen sicher. Ich zitiere nur den Anwendungshinweis, falls Sie meine Antwort anpassen müssen. –