2011-01-25 40 views
2

フォーラムやブログのコメントなどのサイトのユーザーはどのようにして迷惑メールや嫌がらせをしているのでしょうか? askimetなどのサービスを使用してベイズ・スパム・フィルター・クラスを作成できることはわかっていますが、ユーザーがコンテンツを報告できるシステムを実装する最良の方法は何ですか?迷惑メールや迷惑メールを報告する

アイテムテーブルにスパムおよび/またはフラグが付けられた追加フィールドを追加し、その2つの間でどのように区別しますか?基本的には、どのようにこのようなシステムを設定しますか?データベース構造はどのようになりますか?

これはPHPでこれを行う何かがありますか?

答えて

7

データベース

あなたは、各ポストのフラグを立て、誰の詳細な記録を残しておきたいと思いますが、あなたもおそらく同様にフラグを複数の人にポストを許可したいと思います。一人の人が投稿にフラグを立てた場合、その判断は疑わしいかもしれませんが、20人がそれにフラグを立てると、すぐに問題があることがわかります。

私はこのようになりますテーブルを作成したい:

flag_seq | post_id | flagger_username |  timestamp  |  user_notes  | active 
============================================================================================ 
     1 | 1431 |   joebob1 | 2010-01-25 13:41:12 | it's spam    | TRUE 
     2 | 1431 |  i_hate_spam | 2010-01-25 14:01:23 | You know I hate spam. | TRUE 
     3 | 2283 |   joebob1 | 2010-01-24 08:09:57 | vulgar language  | TRUE 

個別に各フラグのトラックを保つことは、あなたが管理または節度レベルからいくつかのより高度なことを行うことができます。

  • あなたがものにフラグを立てるだ人を追跡することができます(場合には、誰かがその機能を悪用され、すなわちjoebob1は* * i_hate_spamを好きではないので、彼らは攻撃としてのポストにフラグを立てるおく)。
  • SELECT COUNT(*) FROM flag_table WHERE post_id = '1431'を実行すると、簡単にカウントできます。
  • フラグが設定された投稿のflag_seqをターゲティングすることで、特定のフラグを個別に削除できます。
  • ユーザーに自分のコメントを含めることができるように、ユーザーは自分のコメントの内容と理由を正確に知ることができます。 <select>ボックスにあらかじめ定義されたオプションを与えることもできます。
  • activeフラグを設定すると、処理された後もフラグは削除されません。これは、フラグが設定された投稿の統計情報を取得する場合に便利です。あなたは、単に必要があるだろう、もっと節度のスタッフを正当化するか、あなたがあなたのデータベースが設定した後など

旗の戦いスパムの新しい方法を研究する時間のコミットメント、このポスト

を正当化するために、この情報を使用することができます各投稿のどこかに[この投稿をフラグする]リンクを設定します。これを、新しく作成したデータベースに送信するフォームにリンクします。 mysql_real_escape_stringまたはpg_escape_stringを使用してデータをデータベースに挿入する前に、または準備文を使用してデータを適切にサニタイズしてください。

ポストにフラグが設定されると、あなたは異なるものの一握りを行うことができます

モデレーション。

  • 各投稿のフラグの量をチェックし、特定のしきい値で特定のアクションを実行するcronを書くことができます。
  • アクティブなフラグをすべて一覧表示するモデレートページを作成して、さまざまな方法で処理することができます。 (投稿を削除する、投稿を編集する、ポスターを禁止する、上記すべてを禁止する、など)
0

これを自分で実装したい場合は、reportsという名前のテーブルを作成する必要があります。

この表は、これらのフィールドを持っています:

  • 理由
  • 日時

私はthatsのかなりそれだと思うpost_idのREPORT_ID。

0

PHPに何かが組み込まれているかどうかわかりません。あなたはきっと、テーブル内の余分なフィールドを使用することができます。.. はフラグ

たび

、あなたを虐待か何かのようないくつかのユーザフラグポストは...日付あなたが

IDタイトルの内容のようなテーブルポスト何かを持っていると言います単にフラグ内のカウンタをインクリメントすることができます。 また、そのカウンタがしきい値に達した場合(3〜5のように低く保つ)、どのようにしたいかによって決まります。スレッシュホールドを超えている場合は、投稿を削除するだけです。

関連する問題