私はブログを構築するためにSilexを使用しています。 「レポート/フラグのコメント」の実装方法
は当初、私はちょうど、私のcomments
テーブルにブール
flagged
列を追加して、デフォルトで
false
にそれを設定し、ユーザーは、「コメントを報告」ボタンをクリックするたびに
true
にそれを切り替えます。私の計画は、すべてのフラグ付きのコメントを管理者に簡単に表示できるようにすることでした。しかし、どのユーザーも、すべてのコメントを報告して、管理パネルを溺れさせることができることに気付きました。
だから違う方法で試してみたい。私は、特定のコメントが何回表示されたのかをカウントしたいので、管理パネルの「フラグ付きのコメント」セクションに反映させることができます。そうすれば、1人の孤独なトロールと、大規模なフラグが立てられており、注意が必要です。
また、特定のユーザーが自分の旗を掲示したコメントを覚えておきたいので、彼が既にフラグを立てたコメントで彼の "コメントを報告する"ボタンを無効にすることができます。ここ
つの質問:それはこれを行うには良い方法
- ですか?
- 私はどのようにそれを私のデータベースに実装できますか? 1つのコメントにフラグが立てられた回数は、在庫が簡単でなければなりませんが、1人のユーザーが告知したすべてのコメントのリストはどんどん増えていますか?
ありがとう!
ハッカーではなくトロールを心配している場合は、ブラウザにクッキーと少しのJavaScriptを実装することができます。防弾にしたい場合は、別のテーブルにフラグを格納し、フラグの日付、IP、およびユーザーIDも保存できます。それでは、正しい判断を下すためのすべてのデータがあります。 –
すべてを 'flags'テーブルに入れるべきですか?私は 'flag_id'、' flag_date'、 'user_id'、' comment_id'カラムを見ることができました。そのようにすれば、コメントのIDを与えられたフラグの数をそのテーブルで数えるだけです。ユーザーのID。それですか? 'フラグ'テーブルにIDを格納することができたら、なぜ私はユーザIPを保存するのですか? – yurden
flag_idがプライマリキーである可能性があります。comment_idはFKをコメントテーブルに追加し、dateはdatetime、user_idはコメントを作成したときにログに記録されます。 ipカラムは、ユーザがコメントにフラグを立てるためにログに記録する必要がない場合に便利です。だから、あなたがページを表示するときに "疑わしい"コメントをフィルタリングすることができます –