2011-11-27 15 views
12

nginxフロントエンドの後ろにいくつかのウェブサイトを運営しています。私のサイトはすべてPython/Djangoにあります。私は私のログで、さまざまなPHPアプリケーションのハッカーによるクロールがたくさんあることを知っています。アプリケーションサーバーにぶつかることなく、nginxでそれらをブロックする(404を返す)ようにしたいと思います。nginxで特定の種類のファイル拡張子をすべてブロックする方法

これは私のnginx confファイルでグローバルに行いたいので、私のサイト固有の設定すべてに適用されます。 Iどのように行うので

、:リターン404は、このような "phpMyAdminの" などの特定の文字列の部分一致のための.php

  • 戻り404種類のすべての拡張のために

  • 答えて

    17

    は試してみてください。

    location ~ (\.php$|myadmin) { 
        return 403; 
    } 
    
    +0

    gr8ありがとう。私は実際の問題を解決するので、私はこの答えを受け入れましたが、以下のアレクサンダーによる追加は、私がソリューションを実装したかったやり方にとって非常に重要です。 – pwalsh

    5

    location必見serverの中にしか表示されません。httpの内部には許可されていません。

    したがって、唯一のオプションは、共通の場所とincludeのファイルを作成してserverに追加することです。

    +0

    ありがとうアレキサンダー - あなたの前に私の答えを参照してください。 – pwalsh

    3

    だよ答えを補完するものとして、我々はまた、それ以外の場合はjquery.mousescroller.jsのような任意のファイルもブロックされます、末尾にドルを追加する必要があります。

    location ~ (\.php$|myadmin) { 
        return 403; 
    } 
    
    関連する問題