2016-07-05 2 views
1

私のWordPressのサイトを常に攻撃の対象にしておくため、wp-config.phpをアップロードしようとするすべてのリクエストにフィルタ(つまり、404を返します)を実行します。 要求は以下のとおりです。 Ningx:特定のクエリパラメータ値でリクエストをフィルタする方法はありますか?

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 

だから、私は一つのリクエストパラメータ中のwp-config.phpのを持っているすべての要求に404を返すようにしたいです。 可能でしょうか?

感謝の事前

答えて

0

にあなたは全体のクエリ文字列のためのクエリ文字列、または$args(別名$query_string)を含む全体のURIのため$request_uriをテストすることができます。

serverブロックの上部にある文は、禁止するすべてのリクエストを除外する必要があります。例えば

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

ifの使用にthis cautionを参照してください。

+0

この回答には多くの感謝があります。それはうまくいっていますが、ifの注意についてはこれまでどおりに動くのだろうかと思います。私はそれがうまくいくかどうかは私には明らかではないと言う必要があります: "あれは悪い" - 多分その仕事、おそらくない? – jmcollin92

+0

'return'は' if'ブロック内で完全に安全です。私はあなたが私の答えに適応する必要がある場合に備えて、アプリケーションノートを引用します。 –

関連する問題