0

スパムがコンタクト フォームを攻撃しているかどうかを検出したい。アイデアは、ページが少なくとも 10 秒読み込まれた後、ユーザーが送信ボタンをクリックしてからフォームがサーバーに送信されないかどうかをテストしたいということです。これには JavaScript を使用したいと考えています。手順は次のとおりです。

  • ページの読み込み時 => 開始時刻を取得する
  • ユーザーが送信ボタンをクリックすると=>終了時刻が表示されます
  • 次に、訪問者が自分のページにアクセスした時間を計算して取得します
  • 10 秒未満の場合はフォームを送信しないでください。それ以外の場合は問題ありません。

次のようにコーディングしてみました。

<script type="text/javascript">
   function checkIfSpam( start ) {    // start if the starting time when the page loads
      var end = new Date().getTime() / 1000;  
      var total = end - start;
      if ( total < 10 ) {             // test if it's less than 10 seconds
        alert('You are a spam!');
      } else {
        alert('You are eligible!');
      }
   }
</script>

問題は、関数に渡す開始時間をどのように検出できるかということです。

4

1 に答える 1

3

その関数の上に、ページがロードされたときに実行されるように、次を追加します。

var start = new Date().getTime() / 1000;

そうすれば、開始時刻を渡す必要はまったくありません。それはあなたのために働きますか?

于 2012-10-12T02:58:34.637 に答える