2009-03-04 16 views
1

私は最初のASP.NETプロジェクトとしてメッセージボードを作成しました。それは今のところうまくいくようです。しかし、私が持っている機能の1つは、各メッセージにスパム評価があることです。これは、視聴者がメッセージをスパムとしてマークした回数を、メッセージが表示された総回数で割ったものです。この考え方は、ユーザがスパム評価の高いメッセージを無視することを許可した場合に許可することです。一意の訪問者に1度だけ機能を提供する

しかし、スパマーによってシステム全体が萎縮し、メッセージが表示された回数が増えるため、メッセージを表示するだけで、メッセージが表示されます。また、スパムとしてメッセージを連続して複数回マークする人が、それを欺くこともできます。特定の訪問者が既に特定のメッセージを閲覧したかどうかを判断する方法と、特定のユーザーが既に特定のメッセージをスパムとしてマークしているかどうかを判断する方法が必要です。

私は登録を必要としたくありません - 誰でもメッセージを表示したり投稿したりできます。私が検討してきた2つのアイデアは、訪問者がサイトにアクセスしたときにクッキーを設定して追跡できるようにすること、またはメッセージを表示したりスパムとしてマークするときにユーザーのIPアドレスを記録する新しいデータテーブルを作成することです。他の誰かがより良い方法を考えることができますか? .NETには、訪問者が初めてページを表示しているかどうかを判断するのに役立つ機能が組み込まれていますか?

答えて

3

スパマーがページを要求する独自のプログラムを作成することによって、スパマーが他の方法を迂回する可能性があるため、最も信頼できる手段はIPアドレスフィルタリングです。これはNATの背後にあるクライアントに影響しますが、スパムフィルタリングの目的ではうまくいきます。

+0

スパマーがIPアドレスを偽装すると、IPフィルタリングが役に立たなくなる可能性があります。あなたはまた、ナットの後ろにいる人々を緩めるでしょう。 – JoshBerke

+0

これははるかに少ない可能性があり、はるかに困難です。これは常に問題です。あなたは犠牲を払わなければなりません:)私が見たどんな迷惑メールフィルタリングの仕組みも誤認をしています。 –

+0

これは、同様の利益を共有する人々の小さなコミュニティのためのメッセージボードです。私は、同じNATの背後から同じメッセージを見ているユーザーの大群に突入することは予想していないので、少なくとも今のところ、IPオプションが最も効果的だと思います。皆さん、ありがとうございました。 –

0

ASP.Netには、通常の「登録済み」ユーザーと一緒に匿名ユーザーを検出して覚えておくために使用できるPersonalizationという組み込み機能があります。

+0

私はクッキーに依存していると思うので、シナリオには適していないと思います。 – eglasius

+0

これはさまざまな方法で設定できます。 –

0

匿名ユーザーの場合、IPを使用します。これは、特にインターネットプロバイダの中には誤検出をもたらすでしょうが、あなたのシナリオでは適切なトレードオフのように見えます。 私はまた、ユーザーが識別できるように簡単にする、オープンIDはこれを行うための素晴らしい方法です。

+0

私は実際にそれをユーザーに選択させることを考えていました。自分自身を特定したユーザーは、「確認済み」とマークされたメッセージを表示します。これにより、真剣に取り組むメッセージを決定する際に、他のユーザーにさらに大きな差別を与えることができます。 Open IDをお使いいただきありがとうございます。 –

+0

@Tom、喜んで賛成票が歓迎されています:) – eglasius

関連する問題