0

あなたの助けが必要です。私は自分のウェブサイトでコメント機能のスクリプトを作成しており、スパム行為を最小限に抑えようとしています..私の問題/問題は、ユーザー/ボット (おそらく) がコメントを送信するときに、このコードで HTTP を実行することです。 /1.1 303 同じページにリダイレクトして、ユーザーがページを更新しようとしたときに、前のコメントが再送信されないようにします。

これでスパムを減らすには十分でしょうか。

あなたの時間、忍耐と答えをありがとう。私はそれを最も感謝しています。

          header("HTTP/1.1 303 See Other");
       header("Location: http://127.0.0.1/     main/forum/
4

3 に答える 3

0

reduce spamming次のことができるという目標を達成するのに役立つとは思いません

A. ページが更新されてからリダイレクトされたかどうかを確認します。これについては、ここで詳しく説明されています。 を参照してください。

PHP の更新

B. 適切なフラッディングを防ぐには、各 IP アドレスの 1 秒間のリクエスト数を制限する必要があります。

PHP スクリプトのフラッディングを防止する

編集 1

あなたが要求した非 OOP バージョン:

$memcache = memcache_connect ( 'localhost', 11211 );
$runtime = memcache_get ( $memcache, 'floodControl' );
if ((time () - $runtime) < 2) {
    die ( "Die! Die! Die!" );
} 
else {
    echo "Welcome";
    memcache_set ( $memcache, "floodControl", time () );
}
于 2012-05-03T10:40:02.913 に答える
0

簡単な答え: いいえ。

長い回答: いいえ、リダイレクトはスパム行為とは何の関係もありません。スパマーは、303 See Other などのさまざまなステータス コードが含まれる完全な HTTP プロトコルを利用しています。スパマーであろうとなかろうと、任意の HTTP クライアントがこれらに対処できます。

実際にスパムを防止するのに役立つのは、コンテンツの投稿を再度求める (プレビューのような) セカンダリ ページを表示することです。ほとんどのスパム ボットはそれを理解できず、ユーザー フレンドリーでもあります。

于 2012-05-03T10:43:52.347 に答える
0

これは、フォームを送信するスパムやボットには影響しません。これが役立つ唯一のことは、F5 を押す (ページを更新する) ことによる偶発的な再送信を避けることですが、通常は 301 または 302 リダイレクトで行われます。

私は今ウィキペディアで読んだ:

HTTP 応答ステータス コード 303 See Other は、特に HTTP POST が実行された後に Web アプリケーションを新しい URI にリダイレクトする正しい方法です。

これは、あなたの状況では 303 が正しい HTTP 応答であることを示唆しています。それでも、ほとんどの人はおそらく 302 を使用しています。

于 2012-05-03T10:31:08.207 に答える