Plots2: スパムされたコメントやまだモデレートされていないコメントへの返信を非表示にする

作成日 2020年12月15日  ·  23コメント  ·  ソース: publiclab/plots2

コメントへの返信はスパムでフィルタリングされていないようです。 次のメッセージが表示されます。

"本気ですか? ユーザーはログインまたは公開できなくなり、コメント以外のコンテンツは非表示になります。」 間違っているようです

この発生の例: https

コメントへのこの返信を参照してください:

image

代わりに、次のようなメッセージが必要です。これは、通常のコメント(別のコメントではなく、投稿に返信するコメント)に対して機能します。

image

問題

(これは今では修正されているかもしれません...それを確認するためのテストを書いて、テストから発生する可能性のある障害を修正しましょう):

コメントへの返信はスパムコメントを除外していません。 このreplied_commentsメソッドはいくつかの場所で使用しているため、この修正を数回行う必要がある場合があります。

https://github.com/publiclab/plots2/search?q=replied_comments

これは実際にはActiveRecordリレーションであり、フィルターを追加できるカスタムメソッドではないため、定義で行うことはできません: https

私たちは除外する必要がありますstatus = 0定義でcomment.replied_comments 、そしてまたのためにstatus = 4上記のメッセージが表示されます。

次に、いくつかの基本的なテストを作成する必要があります。

https://github.com/publiclab/plots2/blob/876d0fc084064aaecc23f8003630d7d1ab858fa1/test/functional/comment_controller_test.rb#L57 -L61

Ruby help wanted testing

最も参考になるコメント

@ 17sushmitaはい、間違いなく、どうぞどうぞよろしくお願いします!

全てのコメント23件

これは私の操舵室にいくらかあるようです! 自分の仕事に先んじていると感じた瞬間に、それをサブイシューに分解することができます。

私はこれをローカルでテストしてftosに分解していましたが、問題はすでに修正されているようです。 誰かが同じことが彼らの側にも当てはまることを確認できますか... @ noi5e多分あなたはあなたのプロジェクトのどこかでそれを解決しました。

@cesswairimuうーん!! 他の誰かがやったと思います😅

@cesswairimu私がそれに到達しなければ、誰かがこれのテストを書くことができますか? これはFTOには少し複雑すぎますが、筆記試験は志願者に多くのことを教えることができると思います。 また、テストが作成されるまで、この問題を解決するべきではないかもしれません

@ noi5e同意します。これを更新して、テスト作成の問題を増やします。 ありがとう

うーん、よくわかりません。テストが最初に行われて、本当に修正されているかどうかを確認できるのではないでしょうか。

has_many定義ではなく、使用量でのみフィルタリングできるため、次のように見えます。 .where.not(status: 0)は表示されません。

https://github.com/publiclab/plots2/blob/ebf57e0cdd1dcc9d5cc884a15e7cd5b5bbe78390/app/views/notes/_comments.html.erb#L8

https://github.com/publiclab/plots2/blob/401874455490c6300270ef54490fe9452e0ca522/app/views/questions/show.html.erb#L69

https://github.com/publiclab/plots2/blob/ebf57e0cdd1dcc9d5cc884a15e7cd5b5bbe78390/app/views/notes/_comment.html.erb#L162

どう思いますか?

皆さんありがとう!!! 💯

ああ、私はそれらのincludes()ものを推測します、それは名前を付けられなければならないでしょう、それで多分... .where('comments.status != 0')

はい、それは正しいと思います。ここで使用法を参照してください。

https://github.com/publiclab/plots2/blob/672d63ab11c2159e28d2cc502c47a3b3c83730b9/app/models/node.rb#L1114

@jywarren @cesswairimu @ noi5eこのためのテストの作成に

@ 17sushmitaはい、間違いなく、どうぞどうぞよろしくお願いします!

コメントへの返信はスパムでフィルタリングされていないようです。 次のメッセージが表示されます。

"本気ですか? ユーザーはログインまたは公開できなくなり、コメント以外のコンテンツは非表示になります。」 間違っているようです

@jywarrenこのメッセージが間違っているようだと言うと、これはどういう意味ですか? モデレーターがコメントをスパムとしてマークしようとしたときに表示されるはずではありませんか? 親切にもう少しコンテキストを与えてください。

@ 17sushmita私も少し混乱しています。 ジェフリーは、下の画像でテキストがModerate first-time commentではなく黄色で表示されていることを意味しているのではないでしょうか。 もしそうなら、それは間違っているようです。

102243313-05b48f80-3ec9-11eb-919a-d2dd39d84c45

明確化を待つ間、あなたはまだ先に進んでテストを書くことができます。 ここに役立つかもしれないいくつかの提案を投稿します。

まず、別のコメントへの返信であるスパム/初回投稿者のコメントをテストデータベースに挿入できます。

nodes(node_name).add_comment({
  uid: user_id,
  body: comment_text
  reply_to: parent_comment_id
  status: 0 # comment status: 0 for banned, 4 for first-time poster (a moderator has to approve the comment)
})

次に、そこから残りのテストを記述し、コメントの取得に使用するメソッドがステータス0または4のコメント応答を取得していないことを確認します。

そんな感じ! あなたはおそらくいくつかの研究をしなければならないでしょう。 行き詰まったり、コードベースのどこを見ればよいかについてのポインタが必要な場合は、必ずここにコメントを残してください。 私たちは助けるためにここにいます!

@ noi5e 、助けてくれてありがとう😃️!! もう1つ説明が必要です。 コメント返信テスト用に新しいファイルを作成する必要がありますか、それとも/plots2/test/functional/admin_controller_test.rbまたは/plots2/test/system/spam2_test.rbまたは/plots2/test/functional/comment_controller_test.rbに変更を加える必要があります他のファイルはありますか?

@ 17sushmitaこれについて100%確信はありませんが、 /test/functional/comment_controller_test.rb考えています。 私が考えていたもう1つの場所は、コメントの単体テストでした。 他の誰かからの考え?

それまでの間、他の人が参加するのを待つ間、気軽にこれに取り組み始めてください。

@ 17sushmitaこれについて100%確信はありませんが、 /test/functional/comment_controller_test.rb考えています。 私が考えていたもう1つの場所は、コメントの単体テストでした。 他の誰かからの考え?

それまでの間、他の人が参加するのを待つ間、気軽にこれに取り組み始めてください。

おかげで、私はテストを書き始めましたが、私が観察したことの1つは、コメントをスパムとしてマークした後でも表示され、ソフトウェアによれば、スパムとしてマークしている間、 @ jywarrenが述べたように警告を生成するため正しいことコメント以外のコンテンツは非表示になり

スパムマークの付いたコメントを表示することは本当に適切ですか?🤔️

そうは思いません!

あなたが言及するこのテキストは非常に興味深いものです:

「よろしいですか?ユーザーはログインまたは公開できなくなり、コメント以外のコンテンツは非表示になり

おそらく当時は、コメントをモデレートしていなかったと思います。 テキストは時代遅れだと思います。

いずれにせよ、私たちは皆、すべてのコメントを確実にフィルタリングする必要があることに同意していると思います。 したがって、 @ jywarrenが最初に言及したスパムボットを回避できます。

これをローカルでテストしたところ、修正されていないようです。 我々は現在、(他のコメントに返信していない)通常のコメントがフィルタリングされていることを心に留めておくので、これはただの回答に適用してください...スパムや初めて司会コメントの返信をフィルタリングされていません。 (返信ではないコメントをテストしましたが、それらはモデレートされています)

これをもう少し詳しく説明します。 地元では、新しいアカウントを作成し、メモにコメントを投稿しました。 これは私がコメントを投稿したときに私が見るものです。 ここまでは順調ですね:

Screen Shot 2021-03-22 at 11 39 30 AM

ユーザーとして、_「コミュニティモデレーターによる承認待ち」_メッセージは、私のコメントが公開されないことを私に思わせます。

しかし、コメントが公に表示されています! サイトからログアウトしたシークレットウィンドウで同じメモにアクセスすると、コメントはユーザー_cisco_に表示されたとおりに表示されます。

Screen Shot 2021-03-22 at 11 43 21 AM

ユーザー_cisco_を禁止しても、状況はそれほど変わらないようです。 _ "承認待ち" _メッセージは消えますが、コメントはシークレットウィンドウから引き続き表示できます。

Screen Shot 2021-03-22 at 11 46 06 AM

そうそう、これは間違いなく変更する必要があります。

@ 17sushmitaどうぞ、これに取り組んでください!

また、まだ見つけていない場合は、 /test/fixtures/users.ymlすでに作成されている禁止された_spammer_ユーザーがいます

@ noi5eそれは非常に明確な説明でした。 私もローカルシステムで非常によく似たテストを行いましたが、結果は同じだったのでそう思いました。 そのため、最初にスパムコメントを削除してから、修正されているかどうかのテストを作成します。

余談ですが、コメントの返信は現在、管理者のスパム管理ダッシュボードに表示されていないようです。

Screen Shot 2021-03-22 at 11 40 21 AM

また、ユーザciscoがコメント応答を投稿しても、アクティブユーザには表示されません。

Screen Shot 2021-03-22 at 11 40 35 AM

#9257で言及されているOutreachyスパムモデレーションプロジェクトの潜在的な問題?

これを徹底的に開梱してくれた@ 17sushmita@ noi5eに感謝します。 元のメッセージのメモが不明瞭であることをお詫びしますが、 @ noi5eは完全に正しいです。必要なのはより単純な「中程度の初回コメント」メッセージだけです。

スパムまたは初めてのモデレートされたコメントのフィルタリング返信

そして、REPLIESではまだ解決されていない素晴らしいキャッチ。

皆様のご協力に心より感謝申し上げます。 🎉

新しいプロジェクトの説明でスパムダッシュボードの問題に注意します!!!

こんにちは@ jywarren @ noi5e 、もう一度質問して申し訳ありませんが、もう1つ混乱がありました。 スパムではないがユーザーが禁止されているコメントを表示する必要がありますか? そのような場合はどうすればよいですか?

はい、現在、禁止されているユーザーのステータスは、ユーザーの可視性に影響しません
コメント。 ありがとうございました!

2021年3月24日水曜日、午前8時17分Sushmita @* >書いた:

こんにちは@jywarrenhttps ://github.com/jywarren @ noi5e
https://github.com/noi5e 、もう一度質問して申し訳ありませんが、もう1つありました
錯乱。 スパムではないがユーザーがスパムであるコメントを表示する必要があります
禁止された? そのような場合はどうすればよいですか?


あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/publiclab/plots2/issues/8854#issuecomment-805774370
または購読を解除する
https://github.com/notifications/unsubscribe-auth/AAAF6J4WSMFWF64K72GXR5TTFHJ6NANCNFSM4U4TWDIQ

余談ですが、コメントの返信は現在、管理者のスパム管理ダッシュボードに表示されていないようです。

Screen Shot 2021-03-22 at 11 40 21 AM

また、ユーザciscoがコメント応答を投稿しても、アクティブユーザには表示されません。

Screen Shot 2021-03-22 at 11 40 35 AM

#9257で言及されているOutreachyスパムモデレーションプロジェクトの潜在的な問題?

@ noi5eコメント返信の問題をローカルで再現できません。 新しいユーザーとしてログインし、コメントの返信を行い、ログアウトしてから管理者としてログインし、コメントの返信をスパムとしてマークしました。 スパムモデレーションページにアクセスすると、コメントの下にコメントの返信が見つかりました。

image

image

足りないものはありますか?

こんにちは@TildaDares 、この問題は#9381で修正されたと

ありがとう@jcads

このページは役に立ちましたか?
0 / 5 - 0 評価