Djangoで組み込みの方法やそれを行うアプリがありますか?Django:同じIPまたはユーザーからPOSTSをレート制限する方法は?
たとえば、ユーザーが1時間単位で投稿できるコメント数を制限しますか?私のサイトを悪意のあるPOSTの洪水から保護するための何か?
Djangoで組み込みの方法やそれを行うアプリがありますか?Django:同じIPまたはユーザーからPOSTSをレート制限する方法は?
たとえば、ユーザーが1時間単位で投稿できるコメント数を制限しますか?私のサイトを悪意のあるPOSTの洪水から保護するための何か?
これに対処するいくつかの方法 - modules
は、IPごとの要求を追跡するウェブサーバーであり
このような意思決定は、Djangoが絵になる前に十分に処理する必要があります。
既存のフレームワークを使用していますか? (すなわち、Joomla、Drupal、Wordpress)。これらのプラットフォームには、あなたが望むことをするプラグインや拡張機能があるかもしれません。
POST保護を実現するには、いくつかの方法があります。
1.)誰かがフォームを送信するたびに、自分のコンピュータにPOSTの日付と時刻のCookieを保存します。その後、すべての投稿で、そのCookieが存在するかどうか、最後に投稿された時刻を確認します。タイムフレームに基づいて投稿を拒否または承認します。
2.)POSTデータ、それを送信した人のIPアドレス、および送信日を格納するDBテーブルを作成します。 POSTごとに、指定した日付範囲内の同じIPアドレスをデータベースで最初に確認してください。投稿を拒否または承認します。
3.)Captchaは、ほとんどのスパマーが自動スクリプトを使用してフォームに投稿するため、いつでも統合することができます。
あなたはdjango.contrib.commentsのような既存のフレームワークを使用してか、自作のコメントを使用していますか?
contrib.commentsを使用している場合、comment_will_be_posted(http://docs.djangoproject.com/en/1.2/ref/contrib/comments/signals/#comment-will-be-posted)という信号を受信するとコメント投稿を削除できます。
djangoでシグナルフレームワークを使用する方法がわからない場合は、 "docs djangoproject com" - > "Other batteries included" - > "Signals"(このような説明のため申し訳ありません、私は投稿できません複数のリンク)。
ReCaptchaを試してください。
コメントだけではありません。それはどんな種類のものでもユーザーが投稿したものを保護するはずです – GabiMe
シグナルフレームワークを使用し、カスタム送信関数からシグナルを送信し、組み込み送信関数に関するドキュメントを読んでください。 – werehuman