ブラックリストとホワイトリスト。 1つの実装オプション





しばらく前に、FASへの苦情の送信を自動化してSMSを送信できるAndroidアプリケーションであるRosSpamプロジェクトについて既に説明しました。 もちろん、広告SMSの送信者に関する大量の情報を受け取ったため、それを使用しないことは不可能でした。 そのため、集中ブラックリストを実装しました。 ただし、リストのロジックは非常に複雑です。



グローバルブラックリスト



彼は集中型ブラックリストです。 ここではすべてが比較的簡単です。 受信したSMSがスパムであることに気付いたユーザーから、SMSの送信者に関する情報と、このSMSのテキストを受け取ります。 複数の異なるユーザーが1人の送信者について不平を言うと、グローバルブラックリストに入ります。 ブラックリストは、ユーザーのデバイスで毎日更新されます。 しかし、ここにはいくつかの問題があります。



問題1.スパムですか?


1人の送信者が、有用なSMSと広告の両方の異なるSMSを送信できます。 たとえば、送信者900(Sberbank)からの2つのメッセージ:



ECMC1234:12.16.13 10:00午後5000.00ルーブルのクレジット取引。 ITT 103233 2216は正常に完了しました。 利用可能:30 721.32こする。


12/31/13までの特別条件での住宅ローン。銀行業務のためのロシア銀行の一般免許番号2012年8月8日の1481号。 電話による詳細情報:t。+79161234567および銀行のウェブサイトwww.sberbank.ru


一部の人にとっては、最初のSMSは便利で、2番目はスパムです。 他の人にとっては、両方のSMSが役立ちます。

サーバー側では、送信者を無視リストに追加できます。 その後、SMSの送信者について不満を言うユーザーが何人いても、彼はグローバルブラックリストにアクセスしません。 しかし、上記の場合、これは役に立ちません。



問題2.登場時間


送信者がグローバルリストに載るようにするには、 人がそれについて苦情を言う必要があります。 したがって、送信者が広告SMSをめったに送信しない場合、またはRosSpamが使用していない人に送信する場合、彼はまもなくグローバルブラックリストに表示されません。



問題3.目的のSMSがスキップされる


特定の数の人々が送信者に不平を言ったとします。 モデレーターは「良い」送信者を時間内に追跡しませんでした。彼はグローバルブラックリストに到達し、目的のSMSがブロックされました。



これはどのように解決されますか?



問題3から始めましょう-もちろん、受信したSMSは完全には削除されません。 ブロックされたすべてのSMSはアプリケーション履歴に保存されます。 しかし、これでは十分ではありません。 以下にこの問題に戻りましょう。



ローカルブラックリスト



問題1を部分的に解決し、 問題2を完全に解決できます。 ユーザーがSMS広告について苦情を申し立てるとすぐに、その送信者はすぐにローカルブラックリストに入ります。 また、サーバー側の無視リストに送信者が追加されているかどうか、他のユーザーがそれについて苦情を言っているかどうかは関係ありません。ユーザーはこの送信者からのSMSを見ることができなくなります。 ただし、ユーザーが間違っている場合は、もちろんローカルブラックリストから送信者を削除する機会があります(グローバルリストから送信者を削除することはできません)。



ホワイトリスト



デフォルトでは、ホワイトリストはユーザーのアドレス帳です。 送信者がアドレス帳にある場合、彼のメッセージはスパムとはみなされません。 ただし、SMSが必要な銀行、航空会社、その他の送信者をアドレス帳に追加したいというわけではありません。 次に、アプリケーションには独自のホワイトリストがあります。 グローバルリストの任意の送信者をホワイトリストに追加できます。 ホワイトリストは2つのブラックリストよりも優先されます。 送信者がホワイトリストで見つかった場合、これは間違いなくスパムではありません。



しかし、ユーザーがグローバルブラックリストで良いと信じている送信者を特定し、それらを時間内にホワイトリストに追加するにはどうすればよいでしょうか( 問題3 )? 特に、グローバルブラックリストに多くのエントリがある場合(このテキストを書いている時点で、RosSpamデータベースには約600人の送信者がいます)? これを行うために、アプリケーションでは、リスト内の新しいエントリは「未読」と見なされ、青色で強調表示されます。 ユーザーが新しいレコードを見るとすぐに(より正確には、少なくとも5秒間それを見ます)-「既読」としてマークされます(MS Outlookの文字のように)。 定期的にグローバルブラックリストにアクセスして新しいエントリを表示し、必要に応じてそれらをホワイトリストに転送するだけで十分です。 ユーザーの生活を楽にする小さなボーナス-リスト内の送信者は、名前に特別な文字を使用せずにソートされます(たとえば、上の写真のように-L_Gorod。

はい、ホワイトリストはローカルです。 エントリを削除することもできます。



このようなブラックリストとホワイトリストの実装についてどう思いますか?



All Articles