2017-01-10 12 views
1

Django HTTP_HOSTのプロービングハッカーエラー、この500エラーをどのように無効にするのですか?私は管理者の電子メールアドレスに送信されたエラーメッセージが出てい

ADMIN = ['[email protected]'] email address. 

このエラーメッセージは約2分の一定の割合で発生します。

私の管理者の電子メールに送信されたHTTP_HOSTエラーであるエラーメッセージはすべて停止しますが、同時に500個のエラーメッセージが表示されます。私はドキュメンテーションを見て、助けを見つけることができませんでした。私はStack Overflowを検索し、ヘッダーエラーが444エラーになるようにnginx 80ポートサーバー設定ファイルを変更するだけで、500エラーレポートをバイパスすることができました。しかし、これはうまくいかなかった。

特定のエラーを排除するための変数setting.pyはありますか?時間は本質である - 私が言ったように、データを掻き集めるために必死であるいくつかの悪口から、毎分2つのメールがあります。それはセキュリティ上のリスクではありませんが、私の電子メールホストから毎月の電子メールの制限を迷惑にして消費しています。

ありがとうございました。

答えて

0

最初に私はこの特定のサンプルをまだテストしていませんでしたが、同様の状況で私のアプローチは、あなたのログ用のカスタムフィルタを書くことでした。この最初の書き込みカスタムフィルタについては

import logging 

class NoAnnoyFilter(logging.Filter): 
    def filter(self, record): 
     status_code = getattr(record, 'status_code', None) 
     return status_code != 500 

そして、中にあなたのログの設定に追加し、あなたのsettings.py:あなたはDjangoのコード自体にいくつかの実際のサンプルを見ることができます

DEFAULT_LOGGING = { 
    ... 
    'filters': { 
     'no_annoy': { 
      '()': 'myproject.utils.NoAnnoyFilter', 
     }, 
    }, 
    ... 
    'handlers': { 
     'mail_admins': { 
      'level': 'ERROR', 
      'filters': ['no_annoy'], 
      'class': 'django.utils.log.AdminEmailHandler' 
     }, 
     ... 
    }, 
} 

https://github.com/django/django/blob/6709ea4ae91b906742506ac0c42a3a272991001f/django/utils/log.py

+0

ご回答ありがとうございます。私は確かに他の誰かがそのアイデアを確実に使うことができると確信しています...私は自分のnginx cofigファイルにあるものを変更することで修正しました、これを加えました: if($ host!〜* ^(example.com | www。 example.com)$){ return 444; } –

関連する問題