te2ji
@te2ji

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

スパム対策ってどんなのがあるの?

世のスパム対策ってどんなのがあるのでしょうか?

最近Qiitaでも話題(?)になっていますが、サイト運営者にとってスパムって天敵です。
そこで皆さんにお尋ねしたいのですが、スパム対策ってどのようなものを実装していますか?

できれば、
【想定しているスパム投稿】
【対策の実装】
のペアで教えていただけると嬉しいです。

会員制サイトとお問合せフォームのようなオープンな環境等の前提条件による対策の差異は出ると思いますが、今回は前提条件に制限を設けずご意見を伺えればと考えております。

よろしくお願いします。

2

こんな感じで教えていただけると嬉しいです。

【想定しているスパム投稿】
同一内容の連続投稿

【対策の実装】
直近の投稿内容と比較して、同一であれば投稿拒否
似た実装としてcookieやsession情報による同一投稿者の直近投稿と比較からの拒否

1Like

考えたらわかると思いますがスパム対策を公の場で書いたら
そのスパム対策を回避するスパムが作られますよね?

0Like

一般的にはスパムはスパム対策しているサイトもそうでないサイトも区別しないと思います。 大規模にやってその内のある程度の割合で成功すれば十分だからです。 手間をかける価値のある大規模なサイト (FacebookX など) から順番にスパム対策を分析してなるべく成功率を上げる努力はしているかもしれませんが……、スパム配信側にとってたいして重要でない程度のサイトであれば対策を公に議論したからといってそこまで見ないでしょう。

【想定しているスパム投稿】
外国からの広告

【対策の実装】
言語判定

例えば Qiita の場合は外国語の記事投稿を明瞭に禁止している規約は見つけられませんがインターフェイスは全面的に日本語ですし、日本語でやりとりすることを前提としたサービスです。 あえて外国語の記事を投稿する理由はないでしょう。

英語くらいなら規格から引用したりだとかで記事に多く含まれることもあるでしょうが、記事の九割がタイ文字だったりしたらさすがに問答無用でスパムと見做しても良いでしょう。 仮にまともな技術文書だとしても想定読者 (日本語話者) が読めないのではどうせ意味がありませんし。

2Like

@vram さん
それほどセンシティブになる必要はないかと思います。

スパム対策は非常に多くの方法があり、閾値もサイトごとにバラバラです。
詳細な仕様を把握しない限り多くの試行錯誤を必要とするので、むしろこういった場でごく基本的なスパム投稿方法と対策の実装を共有することが広範囲のバラマキ系スパム一投稿毎のコストを上げ、「スパム行為をする意義がなくなるように」移行できるのではないかと考えての意見交換です。

参考情報としてQiitaのDiscussionsでも似た内容があるのでリンクを張っておきます。
スパムへの対応について #81

いかがでしょうか?

2Like

@SaitoAtsushi さん
簡易なものであれば実装コストもそれほどかからず、ばらまき型スパムに対して優秀ですね。
今回のQiitaのスパムにも有効そうです。

0Like

単なる推測にはなりますが今年から増えてきているスパムは会員登録から質問までのことを自動で行っているスパムと思われます
原理はわかりませんがみなさんが反応するような表題や内容を自動生成しているみたいです
文章が破綻していることもあるのですが人間が書いているものと私は区別が付きませんでした

Qiita専用のスパム対策というわけではありませんが会員登録から投稿までに人間にしか出来なさそうな段階を踏めばスパム対策にはなりそうです

1Like

スパムの文章は意図的に不自然にする戦略も一般的なものだと聞いたことがあります。 スパムの目的として最終的になんらかの形で「騙す」ということを考えると、あからさまに不自然な文章にすら釣られてしまう騙されやすい人を選別したほうが良いからです。 最初の段階だけ騙せても後の工程で離脱されてはスパムの目的がはたせないので最初の段階は選別であると割り切った戦略です。

こういった種類のスパムはほとんどの人にとっては邪魔であることが迷惑なのであって騙されたという形で迷惑を被る人は稀です。 それがスパムだと判断できる大多数の人が通報して運営が最終判断して削除するというのは原始的ですが確実です。 通報窓口は用意すべきでしょう。

もちろん前提としてはスパム投稿しづらい仕組みを構築した上で、それでも難しい部分についてということになりますが。

何もかもを自動化で対処しようとするとどうしても多少の誤爆 (スパムでないものをスパム判定する) の懸念はありますし、投稿された記事を安易に削除しないというのもサイト運用の誠実さのひとつだと思います。


こういった判断については偽陽性・偽陰性についてどのような方針を持つかの問題です。

たとえばウェブ検索なら一般論としては検索キーワードに対して的確にマッチするかどうか判断しづらいものは結果から除外してしまったほうがユーザ体験は良いです。 普通のユーザはウェブ全体を網羅的に調べる気はないので判断が確かなものだけで十分だからです。

ユーザ投稿型のサービスでのスパム判定は判断しづらいものをどんどん削除するようでは問題でしょう。 誤爆を少なくするかわりにスパムが少し見えてしまうのはある程度は仕方のない部分だと思います。


Qiita について言うなら、バースト的に大量のスパム記事が溢れることがありますが大抵の場合に数日程度で解消されているようですし、毎日最新投稿を見ないと仕事が(とどこお)るような性質のものでもないのでこれくらいの対処で上手くいっていると言って良いんじゃないですかね……というのが私の感想です。

1Like

@vram さん
文章の内容による判定は、メールの世界では比較的早い段階から導入されてましたね。フォームに対しての同等機能提供は知らないのですが、あってもよさそう。

bot判定は、reCAPTCHAが有名ですね。
お手軽に高度なbot判定が出来るので非常に優秀ですが、ちょいちょい一般ユーザにも負荷をかけるので悩ましいですw

0Like

@SaitoAtsushi さん
文章の内容による判定は、生成AIの登場で非常に身近になりました。テストはすでにいろいろなところで行われているようですが、実務レベルではまだ使ったこと無いです。
これからの主流になりそうな気はしてますが、コストが気になりますね...

通報窓口はユーザ投稿系のサービスでは必須ですが、人による判定が必須になるのでこれもコストがなぁw
「誠実さ」重要ですね!

ちなみに、Qiitaは一連の投稿はかなり気持ち悪く思っているようです。
https://x.com/juners/status/1828540642215293345
多数の通報→内容の一時非表示 まではすでにできているようなので、一覧への非表示ができると良さげですが、ちょっと手を入れるのに躊躇する箇所なのかもしれませんね。

0Like

もう少し盛り上がるかと思いましたが、もうこれ以上はコメント付かなさそうなので、クローズします。コメントいただいた方、ありがとうございました!

0Like

Your answer might help someone💌