データベース
あなたは、各ポストのフラグを立て、誰の詳細な記録を残しておきたいと思いますが、あなたもおそらく同様にフラグを複数の人にポストを許可したいと思います。一人の人が投稿にフラグを立てた場合、その判断は疑わしいかもしれませんが、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を書くことができます。
- アクティブなフラグをすべて一覧表示するモデレートページを作成して、さまざまな方法で処理することができます。 (投稿を削除する、投稿を編集する、ポスターを禁止する、上記すべてを禁止する、など)