web-dev-qa-db-ja.com

ウェブサイトを介してスパムを取得しないようにする方法は?

大量の電子メールスパムを受け取っているようです。電子メールアドレスとmailtoリンクの組み合わせと、同じアドレスに送信する問い合わせフォームがあります。

大部分のスパムを排除するために、どのような対策を講じることができますか?

電子メールアドレスと連絡先フォームを表示する必要があるため、それらを削除する方法はありません。

5
Rob

その解決策は、エンコードされた電子メール情報をレンダリングし、JavaScript関数がそれらをデコードして、ページの読み込み後に表示することです。

コーディングとデコードを難しくするものは何もありません。簡単なもので作業できます。

他の方法は、メールを画像にレンダリングして表示することです。

スパマーは、メールを簡単に読み取ってデータベースに配置することができず、スパムの送信を開始するようなトリックを使用します。

多くの例を含むページを見つけました: http://csarven.ca/hiding-email-addresses

今、お問い合わせフォームでは、CAPTCHAを使用する必要があります。

http://en.wikipedia.org/wiki/CAPTCHA

または他の同様のアイデア。 https://stackoverflow.com/questions/8472/practical-non-image-based-captcha-approaches/2544519

7
Aristos

スパムを阻止する多くの経験があります。実際、私は以前GFIと話し、フィルター技術のいくつかを彼らと共有していました。

いくつかの簡単な手順で、ほぼ100%の効果でスパムを阻止できます。これは、スパム対策フィルターの必要性を否定したり、スパムを受信しないことを意味するわけではありませんが、2、3のことを行うだけで、スパムがほぼ停止します。実際には非常に簡単です。

少しの背景:

私はおそらくスパムよりも嫌いです。私は数十年前に10年以上もの間、いくつかの電子メールリストでリストサーバーを実行していました。リストサーバーを起動したとき、スパムが問題になることを知っていたので、独自の電子メールフィルターを作成しました。リストサーバーを介して個人的な電子メールを実行しました。シンプル。

しかし、それは私が提案していることではありません。

リストサーバーをシャットダウンするとき、スパムを阻止する他の非常に効果的な方法を見つけなければなりませんでした。タスクの。しかし、もちろんあなたは常にこのすべてをコントロールできるわけではありません。そこで、別の古い手法をワンツーパンチとして使用しました(ステップ1および2)。

手順1:電子メールアドレスを指定するたびに、電子メールエイリアスを作成します。これは、特に独自の電子メールサーバーを実行している場合は特に、非常に簡単です。独自の電子メールサーバーを実行していなくても、ほとんどの電子メールサービスプロバイダーとWebホストでは、エイリアスを作成できます。そのため、オンラインアカウントに登録するときに、そのアカウントのエイリアスを作成します。誰かに電子メールを提供するたびに、エイリアスを作成します。例外なく。エイリアスを他のサイトのドメイン名にしないように警告しますが、電子メールアドレスが侵害された場所と、必要に応じて電子メールアドレスを変更する場所がわかるように、似たようなものにします。これを怠らないでください。人、サイト、エンティティごとに一意のエイリアスを作成すると、後で多くの労力と労力を節約できます。これは、家族や、何らかの理由でスパム対策を最新に保てないように見える技術的な友人にとって特に重要です。

ステップ2:電子メールアドレスを変更します。 10年以上前に、私は独自の電子メール変更ツールを作成しました。しかし、ここでは、変更する前に知っておく必要がある背景の一部を紹介します。

電子メールアドレスは、洗練された範囲のさまざまなツールを使用してWebサイトからスクレイピングできます。ほとんどはまだ特定の方法で制限されていますが、[at]の使用、スペースの挿入、[remove this]などの修正対象のテキストの挿入など、多くのマング手法は依然としてスクレイピングできることがわかります。 。実際、多くのJavaScriptテクニックは、パターンマッチとして簡単に認識され、コードに書き込まれるため、単純にスクレイピングできます。同様に、レンダリングの前にテキストオブジェクトにイメージフィルターを適用するなど、何をするかに関係なく、コードを記述してイメージ内のテキストを認識することができるため、多くのイメージマンジもスクレイピングできます。スクレーパーは確かにかなり洗練されています。

しかし、彼らが処理できないのはランダム性です。

私は完全に匿名で、10年以上にわたって100%効果のある変更ツールを作成しました。ここにあります: http://www.closetnoc.org/mungemaster/ それを使用してください。使用は無料で、スパムを大嫌いなので作成しました。このマンジツールを使用するたびに、非常に新しいマンジが作成されます。先ほど説明したパターンマッチの問題を解決します。 1つのオプションは、自分のサイトに投稿した回数だけ、電子メールアドレスを数回変更することです。ランダム性が重要であるため、この手法は成功の可能性を高めます。しかし、本当にしたくない場合は、これを行う必要はありません。それでも非常に効果的であり、人々が期待するとおりにあなたのサイトにメールリンクを置くことができます。

手順3:スパム対策フィルターを使用します。サーバーレベルで、電子メールサーバーの前のゲートウェイとして、サーバーとクライアントの間、またはクライアント内で動作するものがいくつかあります。どちらを選択したかは、シナリオによって異なります。 Webホストのとき、GFIをゲートウェイとして使用しました。また、前述の独自のフィルタリングメカニズムも使用しました。現在、SpamAssassinを使用しています。両方とも非常に効果的ですが、完全にだまされないわけではありません。

手順4:これは、独自の電子メールサーバーを実行しているユーザーにのみ適用されますが、非常に効果的で、あまり知られていない、簡単な手法です。リストサーバーを作成し、Majordomoを使用します。 Majordomoは、独自の非常に効果的なスパム対策/セキュリティフィルターを使用しています。私がこれをどのように行ったかは覚えていませんが、理解するのにそれほど時間はかかりません。別のレイヤーを追加しても構わない場合は、強くお勧めします。

ステップ5:スパム電子メールを検疫します。ほとんどのサーバーベースおよびクライアントベースのスパムフィルターは、ヘッダータグを読み取り、スパムをフォルダーに分離できます。私たちのほとんどはこれを見ることに慣れていますが、この機能を使用していない人が何人いるかを驚くかもしれません。

そもそも、ハーベスタがあなたの電子メールアドレスを取得するのを止めることです。しかし、何らかの理由でこれが危険にさらされている場合は、実際の電子メールアドレスではなく、必要に応じて完全に新しい電子メールエイリアスとして削除および再作成できるエイリアスを提供しています。そして最後に、スパム対策フィルターに働きかけて、必要に応じて回復できる安全な場所にスパムを配置します。

サイドノートとして:

スパムを受け取ったのは、コンピューターが侵害されたとき、誰かがリンクをクリックして手動でアドレスをキャプチャしたとき、またはWebサイトのコード/オブジェクトが侵害されたときだけです。過去12年間でこれらを指で数えることができます。

フォームに関しては、ほとんどの場合、システムでフォームを使用していないため、この点に関してスパムの経験はあまりありません。したがって、上記の回答ほどあなたを助けることができるかどうかはわかりません。

4
closetnoc

ウェブサイトで既にメールアドレスを公開しているので、もう手遅れです。

Webサイトからプレーンテキストの電子メールアドレスを削除することはできます。これにはいくつかのテクニックがあります、例えば:

  1. アドレスを「Ofuscate」:例info at example dot comまたは[email protected]
  2. メールアドレスを含む画像を使用してください
  3. mailto:リンクを削除し、ユーザーに住所のコピー/貼り付けを許可する

他の人がすでに述べたように、ボットがcontactformにスパムするのを防ぐために、 CAPTCHAのある種 を追加する必要があります。

私見スパムの受信を防ぐことは不可能です。一般に公開されているスパマーにメールアドレスを割り当てなかったとしても、特定のドメインで多くのメールアドレスを試行します。サーバーが a NDR を送り返すと、メールアドレスが無効であることがわかります。あなたができる最善のことは、スパムフィルターをインストールすることだと思います。メールサーバーにインストールするか、サーバーにアクセスできない場合は、常にクライアント側にスパムフィルターをインストールできます。クライアント側で Spambayes 自分を使用し、サーバー側フィルターも使用します。そのため、ほとんどのスパムメッセージはクライアントに届かないか、クライアント側でキャッチされます。

2
PeeHaa

通常、スパムボットはフォームのすべてのフィールドに入力するため、非表示の入力を使用します。入力すると、フォームが送信されなくなります。

明らかに、スクリーンリーダーのユーザーがそれが何であるかを知り、それを記入しないように、空白のままにしておくことを示すラベルを関連付ける(非表示にする)必要があります。

私はこのアプローチを何年も使用していますが、かなりうまくいくようです。

1
Simon Hudson

Recaptchaをご覧ください: http://www.google.com/recaptcha

これにより、連絡先フォームの問題が解決されます。表示可能なメールアドレスは、クリック可能なフォーム(contactus(AT)mydomain(DOT)com)に表示されません。

0
Mantorok