スパムがコンタクト フォームを攻撃しているかどうかを検出したい。アイデアは、ページが少なくとも 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>
問題は、関数に渡す開始時間をどのように検出できるかということです。