問題タブ [spam-prevention]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 用ベイジアン スパム フィルタリング ライブラリ
Bayesian Spam Filtering を行う Python ライブラリを探しています。SpamBayes と OpenBayes を見ましたが、どちらもメンテナンスされていないようです (間違っているかもしれません)。
ベイジアン スパム フィルタリングを実装する優れた Python (または Clojure、Common Lisp、さらには Ruby) ライブラリを提案できる人はいますか?
前もって感謝します。
明確化: 私は実際に探しているのはベイジアン スパム分類器であり、必ずしもスパム フィルターではありません。いくつかのデータを使用してトレーニングし、後で特定のデータがスパムであるかどうかを教えてください。混乱して申し訳ありません。
perl - SpamAssassin によってスパムとしてマークされた電子メールを削除する最も簡単な方法は何ですか?
Postfix と SpamAssassin を使用して、Ubuntu Intrepid を使用しています。私は procmail を使用するアプローチを見てきました ( @ Apache で提案されているような) が、procmail を使用しないソリューションを探しています。
これはプログラミングに関する質問です。なぜなら、正しい答えは、目前のタスクを達成する何らかの形式のコードになるからです (反対票に対する私の回答)。
状況の更新: このチュートリアルを使用しましたが、うまくいきました: https://help.ubuntu.com/community/PostfixAmavisNew
spam-prevention - スパムフィルタリングのためのベイジアンネットワーク
迷惑メールのフィルタリングにベイジアン ネットワークの仕組みを利用したい。ネットワークの適切なトポロジーはどのように見えるべきだと思いますか? 単純なベイズ モデルはどうでしょうか。(単純ベイズ モデルは、ベイジアン分類器と呼ばれることもあります)
security - OpenID はスパマーにとって儲かる標的ですか?
OpenID の性質上、スパム送信者にとって有利なターゲットではないでしょうか? まず、任意のサイトで OpenID アカウントを作成し、それを他のサイトで使用できます。つまり、フォーラムにログインして、ログインしているユーザーが信頼できるとフォーラムが想定している場合、数千の投稿を書くことができます。
OpenID がスパマーにとって利益になることに同意しますか? OpenID は猛攻撃を予期していますか?
javascript - 邪魔にならないアンチスパム電子メールの難読化ツールはありますか?
Web サイトにリストされている電子メールでスパムの可能性を減らすために、JavaScript 電子メール難読化ツールを考え出そうとしています。現在、HTMLエンコーディングとJavaScriptの組み合わせを使用して、難読化された電子メールを通常の電子メールに透過的に変換するJavaScriptベースの難読化ツールを入手しました。
私がすることはこれです:
リンク内の href の「mailto:」部分を次のように HTML エンコードされるようにフォーマットします。
また、メールをエンコードし、@
記号をに置き換え(a)
て、メールが次のようになるようにします。
(a)
次に、いくつかの JavaScript を使用して、電子メールにこのサインがあるすべての mailto リンクを解読し@
、ページの読み込み時に変換します。
これはかなりうまく機能します。JavaScript が有効になっているブラウザーを使用している場合、すべてが正常に機能していることがわかります。JavaScript が有効になっていない場合、私が知っているすべてのメール クライアントは電子メール アドレスを無効と見なしますが、ユーザーは記号を修正するために何が必要かを推測できるはずです。
Web ページ上の電子メールを難読化するためのより良い (邪魔にならない (またはせいぜい、あまり邪魔にならない) が、よりスパマーに強い) 方法があるかどうか疑問に思っていました。
あらゆるタイプの難読化と同様に、人間またはコンピューターが難読化を簡単に解除できる場合、スパマーも同じことを簡単に行うことができます。このため、誰にでもできる難読化は期待していませんが、他にどんな提案があるのか知りたいと思っていました。Google で検索しても、現在のソリューションより優れていると思われるソリューションは見つかりませんでした。他に良い代替品はないかと考えていました。
language-agnostic - テキスト文字列内の (いたずらまたはナイス) URL またはリンクの検出
コメントなどのテキスト文字列内の Web サイト リンクを (正規表現またはヒューリスティックを使用して) 検出するにはどうすればよいですか?
目的は、スパムを防止することです。HTML が削除されているため、コピー アンド ペーストへの招待を検出する必要があります。 ほとんどのユーザーはページにうまくアクセスできないため、スパマーがリンクを投稿するのは経済的ではありません。ベスト プラクティスに関する提案、参考資料、またはディスカッションを希望します。
いくつかの目的:
- 適切な形式の URL などの簡単な成果 (
http://some-fqdn/some/valid/path.ext
) - プレフィックスなしの URL
http://
(つまり、有効な FQDN + 有効な HTTP パス) - その他の面白いビジネス
もちろん、スパムをブロックしていますが、同じプロセスを使用してテキストを自動リンクすることもできます。
アイデア
ここに私が考えていることがいくつかあります。
- コンテンツは母国語の散文なので、検出に満足できます
- " " をキャッチするために、最初にすべての空白を削除する必要があり
www .example.com
ますか? 一般的なユーザーは、自分でスペースを削除することを知っていますか、それともブラウザーが「何を意味するか」を実行して削除することを知っていますか? - おそらく、複数のパスがより良い戦略であり、次のスキャンがあります。
- 整形式の URL
- すべての非空白の後に「.」が続きます。任意の有効な TLD が続く
- 他に何か?
関連する質問
私はこれらを読み、現在ここに文書化されているため、必要に応じてこれらの質問で正規表現を参照することができます。
アップデートとまとめ
うわー、私はいくつかの非常に優れたヒューリスティックがここにリストされています! 私にとって、最高の費用対効果は、次の統合です。
- @Jon Bright の TLD を検出する手法 (優れた防御チョークポイント)
- これらの疑わしい文字列については、@capar に従って、ドットをドットに見える文字に置き換えます
- @Sharkey の下付きの · は、ドットのように見える良い文字です。(すなわち " · ")。· は単語境界でもあるので、さりげなくコピー&ペーストするのは難しいです。
これでスパマーの CPM は私のニーズに対して十分に低くなるはずです。「不適切としてフラグを立てる」ユーザーのフィードバックは、他のものをキャッチする必要があります。リストされている他のソリューションも非常に役立ちます。
- すべてのドット四角形を取り除きます(@Sharkeyのコメントは彼自身の答えです)
- 必須の非表示フィールドをフォームに挿入するクライアント側 Javascript に対する @Sporkmonger の要件。
- URL サーバー側に ping を実行して、それが Web サイトであるかどうかを確認します。(おそらく、@Nathan のように、SpamAssassin または別のベイジアン フィルターを介して HTML を実行できます。)
- Chrome のスマート アドレス バーのソースを調べて、Google がどのような巧妙なトリックを使用しているかを確認します
- スパム/マルウェア検出のために OWASP AntiSAMY またはその他の Web サービスを呼び出します。
spam-prevention - プログラムでポルノ画像を検出する最良の方法は何ですか?
Akismet は、スパム コメントの検出において素晴らしい仕事をします。しかし、最近のスパムはコメントだけではありません。ユーザーが自分の写真やアバターなどをアップロードできるようにするソーシャル ネットワーキング サイトで、ポルノ画像を自動的に検出する akismet のようなものが必要だとしたら?
すでにいくつかの画像ベースの検索エンジンと顔認識機能が利用可能になっているので、ロケット科学ではなく、実行できると思います. しかし、それがどのように機能するのか、ゼロから開発したい場合はどうすればよいのか、まったくわかりません。
どのように始めればよいですか?
これに関するオープンソース プロジェクトはありますか?
c# - ベイジアン スパム フィルターでトークンがスパムである確率を計算する
私は最近、ベイジアン スパム フィルターを作成しました。Paul Graham の記事 Plan for Spamと、codeproject で見つけた C# での実装を参考にして、独自のフィルターを作成しました。
CodeProject の実装では、トークンがスパムである確率を計算する際に一意のトークンの総数を使用していることに気付きました (たとえば、ハム コーパスに合計で 10000 のトークンが含まれているが、1500 の一意のトークンが含まれている場合、1500 は確率の計算に ngood として使用されます)。 )、しかし、私の実装では、Paul Graham の記事で言及されているように、投稿の数を使用しました。
- 投稿数 (Paul Graham の記事に記載)
- 一意のトークンの総数 (codeproject の実装で使用)
- 総トークン数
- 含まれるトークンの総数 (つまり、b + g >= 5 のトークン)
- 含まれる一意のトークンの合計数
email - メールの難読化に関する質問
はい、私はこの質問が尋ねられ、回答されたことを認識していますが、そのスレッドでは明確ではないと感じている特定の質問があり、別のスレッドでもシャッフルで迷子になりたくない.
以前のスレッドでは、Facebook のように電子メール アドレスを画像にレンダリングするのはやり過ぎであり、ビジネス/プロフェッショナル向けの Web サイトのユーザー エクスペリエンスはプロフェッショナルではないと述べていました。そして、一般的なコンセンサスは、HTML エンティティを使用する JavaScript の document.write ソリューションを使用するか、単純なボットで文字列を分割および/または読み取り不能にする他の方法を使用することです。私が構築しているアプリケーションは、「mailto:」機能を必要とせず、電子メール アドレスを表示するだけで済みます。また、これはビジネス Web アプリケーションであるため、できるだけプロフェッショナルに見える/動作する必要があります。ここに私の質問があります:
document.write ルートに行き、各文字の html エンティティ バージョンを渡すと、javascript を実行してレンダリングされたテキストを取得するのに十分な洗練された Web クローラーはありませんか? それとも、これはベスト プラクティスであり、完全に (またはほぼ完全に) スパマーを証明できると考えられていますか?
画像ソリューションのどこがプロらしくないのですか? Facebook が世界で最もトラフィックの多いアプリケーションの 1 つであり、アマチュアによってまったく運営されていない場合、この件に関する他のスレッドで彼らの方法が完全に却下されているのはなぜですか?
あなたの答え (他のスレッドのように) が、この問題に煩わされず、ユーザーのスパム フィルターにすべての作業を任せることである場合は、そのように感じる理由を説明してください。ユーザーから提供された電子メール アドレスを表示していますが、できる限りそれらを保護する責任があると感じています。これが不要だと思われる場合は、その理由を説明してください。
ありがとう。
spam-prevention - スパマー/ボットを発見するためのヒューリスティック (フォーラム、ブログなど)
私が考えることができる方法は次のとおりです。
- アクション間の時間を測定します。
- 投稿の内容を比較するか (あまりにも類似している場合)、投稿されたリンクだけを比較することをお勧めします。
- ユーザーがアクティブな期間の分布を確認します (ユーザーがアクティブな場合、たとえば 1 時間ごとに 1 週間投稿すると、スーパーマンまたはボットがここにいます)。
- いくつかの特別なアクティビティが予想されます: stackoverflow のように、ユーザーがユーザー名のリンク (上部中央) を押して、新しい回答、コメント、質問などを表示することを期待します。
- (chakrit によって追加) 投稿内のリンクの数。
- ヒューリスティックではありません。ユーザー ログインに非同期 JS を使用します。(ボットプログラマーの生活を少し難しくするだけです)。
- (Alekc が追加) ヒューリスティックではありません。ユーザーエージェントの値。
- そして、どうすれば Google のアプローチを忘れることができますか (Will Hartung が言及)。ユーザーが誰かをスパムとしてマークできるようにします。十分な数のスパム投票は、これがスパム ユーザーであることを意味します。(十分なユーザー数を計算するのは、ここでの作業です)。
他にアイデアはありますか?