連絡先フォームの一般的な機能は、連絡先メッセージをサイト所有者だけでなく、連絡先要求を送信した人にも送信することです。フォームをさまざまな電子メールアドレスで何百万回も送信する自動化されたスクリプトによってスパムツールとして使用されるのを防ぐための適切な手段は何ですか?
私はいくつかのアプローチを考えることができますが、それぞれに欠点があり、あまり効果的ではありません。
ただし、攻撃者にとっては、それぞれの対策によってリソースの消費量が増加します。コメント形式のスパムはどの程度蔓延していますか?心配する必要はありますか?
認証されていない任意のインターネットユーザーが、ウェブサービス(つまり、ウェブサイトの「お問い合わせ」フォーム)から送信される電子メールメッセージのコンテンツと受信者の両方を制御できるようにすることは悪い考えであり、スパマーにとって魅力的なターゲットになる可能性があります。
あなたにとって重要な場合:
次に、少なくともユーザーがメッセージの内容を制御できないようにすることをお勧めします。
GNU Mailman がサブスクリプション要求を受け取ったときに取るようなアプローチを取りませんか?つまり、最初に確認メールを次の行に沿って送信します。
あなたまたはあなたになりすました誰かが、当社のWebサイトのお問い合わせフォームを使用して使用するメッセージを送信しました。これは[IP ADDRESS]から送信されたもので、送信者のメールアドレスとしてあなたのメールを提供しました。この送信を行った場合は、[こちら]をクリックするか、件名を変更せずにこのメールに返信して、お問い合わせフォームの送信を確認してください。送信された内容を読んで返信します。お問い合わせフォームからメッセージを送信していない場合は、このメッセージを無視してください。
これをレート制限して、(週|月|年|何でも)所定の電子メールアドレスへの匿名送信を1つだけ許可し、ユーザーが上記の指示に従って確認するとタイマーがリセットされます。これは、トロールにフォームを使用して無実の人々に偽の確認メッセージを送信させることで迷惑をかけることを阻止します。
いずれの場合も、お問い合わせフォームの送信者が送信されたメールアカウントにアクセスできることが確認された場合にのみ、送信されたメッセージの内容がそのメールアカウントのユーザーに表示されます。
以前のシステム管理の経験に基づく部分的な回答をさせてください:はい、それはかなり一般的であり、心配する必要があります。
政治的に正しくない可能性があります。ユーザーベース(ビジネスを行う相手はどこですか?).
AKISMETは興味深い代替手段です。スパムフィルターのようなものですが、アウトソーシングされており、多くのサイトから蓄積された知識を組み合わせて、スパムからあなたをよりよく保護します。
これは主にwordpressコメントを保護するために使用されます(私はこれを使用しましたが、単一の誤検出またはスパムがフィルターを通過したことを覚えていません)、そのAPIは他の目的に使用できます:- https://akismet.com/development/
連絡先データの詳細をAPIに送信すると、APIについて肯定的または否定的な答えが得られます。誤検知と誤検知を報告するためのAPIがあります。
もちろん、プライバシーコンサーはいくつかあります。連絡先データを受け取るためです。ただし、考慮できるオプションです。
もう1つの提案は、すでに述べたものと組み合わせて使用することです。同じIPからの連絡先が多すぎる場合は、akismetの連絡先を送信して確認します。