これは、一般的なコミュニティWikiの質問であり、特定のスパム対策に関するすべての質問に対処します。
あなたの質問がこの質問の複製として閉じられ、ここで提供された情報では十分な回答が得られないと感じた場合は、Pro Webmasters Metaでディスカッションを開いてください。
この質問のために、スパムには次のものが含まれます。
- 自動投稿
- スパマーのサイトへのリンクを含む手動投稿コンテンツ
- スパマーのサイトにアクセスする手順を含む手動投稿コンテンツ
これは、一般的なコミュニティWikiの質問であり、特定のスパム対策に関するすべての質問に対処します。
あなたの質問がこの質問の複製として閉じられ、ここで提供された情報では十分な回答が得られないと感じた場合は、Pro Webmasters Metaでディスカッションを開いてください。
この質問のために、スパムには次のものが含まれます。
回答:
次のリストは、実装の相対的な容易さ、保守コスト、およびスパム防止の有効性別に整理されています。
これは、サイト周辺のユーザーコミュニティの成長を損なう焦土ソリューションですが、スパムまたはスパム防止に対処する時間と労力を節約することも保証されています。
ユーザー生成コンテンツを無効にする以外に、すべてのスパム(またはその他の不要なコンテンツ)が表示されるのを防ぐための保証されたソリューションはありませんが、サイトの訪問者にコンテンツにフラグを立てるオプションを提供する場合、ほとんどのスパマーを阻止するソリューションで十分ですスパムとして。
Disqusのようなサービスを使用すると、ウェブマスターはユーザーが作成したコメントの審査、保存、公開を外部委託できます。(注:サードパーティのサービスを使用するには、検索エンジンがコメントをインデックスに登録するための追加の構成が必要です)
パーウィキペディア、CAPTCHAは、「別にコンピュータと人間を伝えるために完全に自動化された公開チューリングテスト」の略です。コンピューターがコンテンツを投稿するのを防ぐように設計された自動化されたテストはすべてキャプチャです。これには、ユーザーに画像から文字、数字、単語を読み取らせたり、簡単な単語パズルや数学の質問をしたり、人であることを「証明」することが含まれます。
CAPTCHAの欠点は、
CAPTCHAのほとんどの形式は、ユーザーに不快感を与えます。
100%保護されていません。有能なプログラマーが問題に十分な時間と労力を費やすことを決めた場合、これらのテストの多くはコンピューターで完了できることに注意してください。
小規模サイトで最も効果的なCAPTCHAは、質問と回答のCAPTCHAです。Q&A CAPTCHAは、Webサイトがユーザーに回答を求める質問です。質問は、サイトを訪れた人なら誰でも知っていることですが、コンピュータープログラムではわかりません。seoに関するサイトの質問の例は、「SEOの略」です。この質問は、そのサイトの平均的な読者が答えるのは簡単でしょうが、どのコンピュータープログラムもそうすることはできません。
注:「1と1が何であるか」などの質問はよく使用されます。これらの質問はよく使用され、スパムボットを作成する人はそのような質問に正しく答えるようにプログラムします。
ただし、サイトに大量のトラフィックが発生した場合、スパマーはロボットにそれらの質問に自動的に回答するようにプログラムし、Q&A CAPTCHAは効果的ではなくなります。
フォームがあり、スパマーがそれを使用できないようにする場合は、非表示フィールドを使用することでフォームを停止できます。これらの設定は非常に簡単です。フォームに冗長フィールドを追加し、css(またはJavaScript)で非表示にし、そのフィールドに値を入力しようとするものをすべて停止します。通常のユーザーはフィールドが見えないため、フィールドを非表示にしますが、スパマーが使用するコンピュータープログラムはCSSやjavascriptを処理しないため、そのフィールドに値を入力しようとします。CSSまたはJavascriptをロードするスパムボットに勝つために、フォームに空のフィールドを追加することができます。人間の訪問者は空のままにして、フィールドにデータを追加するボットを簡単にブロックできます。これにより、サイトが専門外に見える可能性があるという事実を忘れないでください。
スパマーは、投稿するネットワークとマシンの数に限りがあります(通常、機能しなくなるまで使用します)。トラフィック分析ソリューションは、多数のホストからデータを収集して、投稿に既知のスパムコンテンツが含まれているか、既知のスパマーのホストまたはネットワークからのものかを判断します。
無料の(または安価な)さまざまなサードパーティのCAPTCHAおよびトラフィック分析ソリューションがあり、ほとんどのオープンソースコンテンツ管理ソフトウェアには、AkismetやreCAPTCHAなどのサービスを使用するための統合モジュールが含まれています。
Webサイト上のスパムに、正当なユーザーが使用しない(または使用しない)単語(「サイトへの無料リンク」など)が含まれていることに気付いた場合、ユーザーがこれらの単語を投稿できないようにすることは効果的なソリューションです。投稿でこれらの単語を合法的に使用しているユーザーがサイトへの投稿に問題がある場合は、既存のユーザーからの投稿を無視するようにフィルターを設定できます。
rel="nofollow"
スパマーは、検索エンジンがたどるリンクを投稿できるサイトに注目する傾向があります(したがって、宣伝しているサイトの検索ランクが向上します)。
rel="nofollow"
ユーザーが作成したコンテンツに含まれるリンクに追加することで、サイトをスパマーにとって魅力的でないものにすることができますが、ほとんどのスパムは自動化されており、スパマーはサイトがrel="nofollow"
リンクを使用しているかどうかを知る方法がないため、このアプローチは機能しない可能性があります。
コンテンツは誰でも投稿できますが、コンテンツがサイトに表示されると、スパムとしてフラグを付けて削除することもできます(このオプションは、訪問者がスパムコンテンツを比較的珍しいと感じた場合にのみ機能します:スパムが有用なコメントを超えることが許可されている場合、ほとんどの訪問者は迷惑メールを報告しません)。
ゲーミフィケーションは、スパムを報告するようユーザーを動機付ける素晴らしい方法です。サイトに「フラグウェイト」機能を追加することを検討してください。スパムユーザーが報告するほど、ポイントが増えます。これにより、スパムの捜索がより楽しくなり、スパムを自慢する権利を報告する人々が得られます。これにより、ユーザーはスパムを報告するようになります。
人間は、サイトに公開される前に投稿されたコンテンツのすべてのアイテムを確認する必要があります-これにより、スパムの投稿は防止されませんが、サイトの訪問者へのスパムの表示は防止されます(したがって、人間のスパマーに対するサイトの価値が低下します) 。
ユーザー登録はCAPTCHAよりも改善されます。ユーザーは、都合の良いときにコメントを許可される前に一度だけ人間であることを証明する必要があるためです-これは技術的に異なる形式のスパム防止ではありませんが、特定のユーザーまたはユーザーグループ(ユーザー名、電子メール、IPアドレス、またはその他の識別要素で識別される)を実施するのが簡単です。
管理者はすべての投稿を承認する代わりに、新しいユーザー登録を確認して、ユーザーの登録が特定されたスパマーまたは自動スパムボットと一致しているかどうかに基づいてユーザーを承認するかどうかを決定できます。
人間のスパマーは、アカウントにスパムを自由に投稿できない場合、作成したアカウントに戻ることをほとんど覚えていません-新しいユーザーが一定数の投稿を作成する必要がある(コミュニティがスパムにフラグを立てる機能を持っている場合)および/またはセットを待つリンクの投稿または複数の投稿の制限が解除されるまでの時間。
メンバーシップに課金する場合、料金が低くても、スパマーはメンバーシップのコストとサイトにスパムを投稿する価値とを比較検討しなければなりません(より簡単なターゲットを優先してサイトを通過させます)。
他のユーザーから招待された人だけが登録できるようにすると、スパムがいくつか削減されます(通常、人間はロボットを招待しません)。
以下は、Project BOTCHA、Drupalからのものです。
ハニーポットトラップの実装。その要点は、フィールドが特定の値でフォームに追加され、JSによって変更されることです。スパムとは、フォームの送信であり、その計算値は必要なものとは異なります。
上記と同じですが、特定のフィールドの値ではなく、CSSからのデータを計算のソースとして使用します。
HoneyPot2と同様:JSによって構築されたものが必要性と比較されます。違いは、初期値がGETパラメーターを介して渡されることです。
ほとんどのウェブマスターは、上記のソリューションの組み合わせ(ユーザー生成コンテンツを許可しないことを除く)が自分のサイトに最適であり、自動スパムが訪問者の議論を妨げないように少なくとも 1つのソリューションを実装する必要があることに気付くでしょう。
最近、非常に簡単な実装で、お問い合わせフォームからスパムを排除しました。HTMLフォームに「URL:」というラベルの付いた入力を追加し、実際のユーザーには見えないようにしました。次に、フォームプロセッサで、値があるかどうかを確認し、それに応じて動作します。
スパムボットは常に餌をとります。スパムサイトへのURLを挿入します。私たちのスクリプトはそれを見てコメントを捨てます(実際、環境に優しい環境に優しい会社になろうとしているので、私たちはビットをリサイクルします)。しばらくの間、問題のあるコメントをレビューのためにデータベーステーブルに保存していましたが、結果をどこにでもメールで送信することを拒否していました。それは私達がそれが働いたことを知っている方法です。
この簡単な方法で、1日に約30件以上のスパム「お問い合わせ」メッセージからゼロになりました。
何を選んでも幸運を祈ります!
匿名の投稿を一時的に有効にするフォーラムがあります。Captchaを使いたくなかったのは、私自身が読みづらいことが多く、人々がコメントするのを妨げる可能性があるためです。スパムを防ぐために、Akismetを使用して着信メッセージをキャッチしました。Akismetは防弾ではありませんが、私の人生をずっと楽にしてくれました。
ただし、誤検知に注意する必要があります。それで、私がしたことは、投稿オブジェクトに「スパム属性」を作成し、それをAkismetの戻り値に設定することでした。投稿にスパムのマークが付けられる場合、自分自身とメールを送信します。その後、スパムかどうかを判断できます。