0

こんにちは

、試作段階です。

以下のシナリオについて、私の計画をあなたと共有したいと思います。私の計画が理にかなっているのか、または私の要件を達成するためのより良い方法があるかどうか、あなたの意見を求めています.

よろしくお願いします

シナリオ

スパム ボットがフォームに出没する可能性があります。(メール、コメント、記事の共有) 検証段階では、既知の方法でスパマーかどうかを検出できます。(キャプチャ、制限時間、秘密の質問、非表示のフォーム要素など) しかし、スパム ボーイが試行錯誤し続けたらどうなるでしょうか? フォームの目的を検証して実行することはできませんが、帯域幅を継続的に消費します。

私の要件

フォームの目的の実行を防ぐだけでなく、継続的なベースでの帯域幅の消費も防ぎます。

私の計画

セッション機能を使用して、限られた時間内に特定の IP の試行回数をカウントします。試行回数が x 分間で n を超える場合は、訪問者をまったく別の URL にリダイレクトするか、実行時に PHP コードを使用して訪問者の IP を禁止します。

私の質問

  1. スパマーをまったく別の URL にリダイレクトするのは論理的ですか? はいの場合、スパマーの IP をブラックリストに追加することを歓迎する Web ページを知っていますか? 他の方法では、この活動が倫理的ではないことを認識しているため、この種のリダイレクトを適用してはなりません.

  2. 関連する検証ページで、php 実行時に IP を禁止することはできますか?

4

1 に答える 1

1

1) それは私には非論理的に思えます。たとえば、キャプチャを通過しようとするブルート フォース ボットを想像してみてください。ほとんどの場合、Web ブラウザーでさえ実行されません。リダイレクト ヘッダーを送信すると、それらが無視され、ターゲット ページが読み込まれない場合があります。本当に帯域幅を節約する必要がある場合は、空白のページを印刷するだけです (たとえば、 を使用できますexit()) 。

2) IP はいつでも禁止できます。常に$_SERVER['REMOTE_ADDR']変数があり、IP を禁止する場合は、データベース (またはファイル) に追加するだけです。また、誰かを確認する必要があるときはいつでも、データベースに IP を問い合わせることができます。

于 2013-02-26T11:17:32.180 に答える