ここから本文です

この知恵ノートを「知恵コレクション」に追加しました。

追加した知恵ノートはMy知恵袋の「知恵コレクション」ページで確認できます。

知恵コレクション」に登録済みです。

再登録しました。

追加に失敗しました。

ノートに戻り、もう一度やり直してください。

すでに1,000件のノートが登録されています。

新しく追加したい場合は、My知恵袋の「知恵コレクション」ページで登録されているノートを削除してください。

追加できませんでした。

ノートは削除されました。

【空爆の時代は終わった】Yahoo!知恵袋の「空爆」の荒らしを完全に無効化する二つの方法

ライターrank_0utさん(最終更新日時:1時間以内)投稿日:1時間以内 アドバイス受付中!

印刷用のページを表示する

■ はじめに

 この知恵ノートでは、最近Yahoo!知恵袋で流行している「空爆」の荒らしを完全に無効化する二つの方法を紹介する。

  1. URLを入力するだけで質問のページの軽量化版を表示するツールを使う。
  2. ブックマークレットで非表示にする。
 1.の方法は、プログラミングがわからないユーザでも簡単にできる方法だ。2.のブックマークレットを用いた方法は、最低限ブラウザとJavascriptに関する知識を要するので、プログラミングに関する知識が無い利用者は、1.の方法を選択して欲しい。


■ 知恵袋の荒らしたち 

 Yahoo!知恵袋には様々な荒らしが蔓延している。誹謗中傷や暴言などによるオーソドックスな荒らしもいれば、企業による「ステルス・マーケティング(stealth marketing)」を狙った荒らしもいる。「釣り」を目的とした愉快犯もいれば、自分の別IDで自分の回答をベストアンサーに選ぶことで成績を不正に高める「自作自演」の荒らしもいる。 

 こうした荒らしたちの中には、botを駆使した荒らしもいる。例えば30個以上のIDから自動で同時に連続投稿するbotによる荒らしや、質問者が質問を投稿してから僅か1~8秒以内に自動で回答するbotによる荒らし、あるいは現存する投票受付中の質問の全てにおいて、「どの回答もふさわしくない」に自動で投票するbotによる荒らしなど、様々だ。


■ 「空爆」による荒らし


 その中でも「空爆」は、古くて新しいタイプの荒らしとして知られている。 「空爆」というのは、必要以上に改行を加えた回答を繰り返すことで、そのページを閲覧し難くするタイプの荒らしだ。例えば、

.


.


.


.

 のように書き続けていくことで、質問ページを意図的に閲覧し難くするのである。恐らく第三者から観れば「空白」が続いているように見える「爆撃」であることから、「空爆」と名付けられているのだろう。一人の回答者からこうした回答を書き込まれても、被害はさして大きくない。だがYahoo!知恵袋では、複数のIDを所持することができる。だから複数のIDからこの「空爆」を繰り返されれば、ページが閲覧し難くなるどころか、ページが重くなる。場合によってはフリーズしてしまうこともあるだろう。


■ 「空爆」を無効化する条件

 この荒らしを無効化する条件は、単純に満たすことができる。「空爆」は改行を繰り返すことで成り立っている。だから「空爆」を無効化するには、改行を防いでしまえば良い

 別の見方をすると、こう言い換えることもできる。「空爆」の成立条件は、ページを縦に長くすることだ。すると、「空爆」を無効化するための条件となるのは、縦に長くしないことだということになる。


■ 質問・回答の改行を防ぐアプリケーション

 理想的な対処法となるのは、「空爆」を表示することでブラウザに負担を掛けないために、サーバサイドで事前に「空爆」による余分な改行を防いでおくことである。そこで以下のページを見て欲しい。

ツールその1

 
 元々このツールは、「空爆」対策のために開発した訳ではなかった。このツールの開発におけるメイン・テーマとなったのは、「軽量化」だ。そのため、表示する情報は最小限に留めている。表示する内容は以下の通りである。

  • 質問内容と質問の投稿日時
  • 質問の補足内容と補足の投稿日時
  • 閲覧数と回答数
  • 各回答の投稿日時と編集日時
 一方、「軽量化」するにあたり削ぎ落とした情報は、確認する限りでは以下の通りとなる。
  • 質問者・回答者のID、カテゴリマスター、知恵袋マスター、専門家などの称号、アバター
  • 質問・回答で添付された画像
  • オートリンク機能
  • 質問・回答の改行
 このアプリケーションで質問のページを表示した場合、改行が反映されなくなる。そのため、「空爆」の効力を完全に抹消することが可能になるだろう。空爆を浴びて閲覧できなくなったページを見る場合に、このアプリケーションは有用となるはずだ。


■ 「空爆」を無効化するブックマークレット

  
次に、「空爆」を無効化するブックマークレットを紹介していこう。

 ブックマークレットとは、ブラウザのブックマーク(お気に入り)と連動したJavaScriptの一種だ。ブラウザのブックマークをクリックすると、普通なら登録していたURLに遷移する。だがこのURLの項目にJavascriptのコードを入力しておくと、そのブックマークをクリックした場合にそのJavascriptのプログラムが実行される。そのプログラムの効果は、今現在閲覧しているページにまで及ぶ。だからブックマークレットを使えば、今現在閲覧しているYahoo!知恵袋のウェブページの表示情報を操作することも可能になる。


■ 任意の禁止ワードが含まれている回答を「非表示」にする

 今回は、このブックマークレットを使用することで、荒らしによる投稿を「非表示」にする方法と、対「空爆」用に特化した対処法として、縦に長い回答をインラインフレームの中で表示させる方法を紹介していく。  

■ 任意の禁止ワードが含まれている回答を「非表示」にする

コード

javascript:(function(){list = new Array("<禁止ワードその1>","<禁止ワードその2>");var divs = document.getElementsByTagName("div");for(var i=0;i<divs.length;i++){for(var j=0;j<list.length;j++){if(divs[i].innerHTML.match(list[j])){if(divs[i].className=='Extends-details' || divs[i].className=='Extends-details last-details'){divs[i].innerHTML = '';}}}}})();
 
 このコードの場合、配列:listの<禁止ワード>の項目に入力したワードが含まれている回答が「非表示」になる。例えば、list = new Array("三角定規","ポリバケツ","red");と入力すれば、「三角定規」か「ポリバケツ」か「red」が含まれている回答が「非表示」になる。

■ 「空爆」を「非表示」にする

 「空爆」の場合は改行タグ<br>(あるいは<br />)が必要以上に書き込まれているので、以下のように設定すれば、「非表示」にすることができる。

コード

  • javascript:(function(){list = new Array('<br>\n<br>\n<br>\n<br>','<br />\n<br />\n<br />\n<br />');var divs = document.getElementsByTagName('div');for(var i=0;i<divs.length;i++){for(var j=0;j<list.length;j++){if(divs[i].innerHTML.match(list[j])){if(divs[i].className=='Extends-details' || divs[i].className=='Extends-details last-details'){divs[i].innerHTML = '';}}}}})();

    以上のコードをブラウザのブックマーク(お気に入り)のURLを入力する項目に貼り付けて、ページタイトルや名前の項目を適当に埋めて、保存して欲しい。使い易いように、ブックマークバーに表示されるように設定しておいた方が良いだろう。「空爆」による荒らしを見掛けたら、このブックマークレットとして登録したブックマークをクリックしてみよう。すると「空爆」による荒らしが「非表示」になるはずだ。


■ operaのブラウザによるオートメーション化

 ブックマークレットは、ページを遷移するごとにクリックしなければ機能しない。一々手動で「非表示」にするというのも面倒だろう。そこで、一連の処理を自動化するシステムとして、operaのブラウザを紹介したい。

 operaのブラウザには、このブックマークレットと等価な機能を自動で実現させるシステムがある。
 

opera用のコード

  • window.onload = function() {list = new Array("<br>\n<br>\n<br>\n<br>","<br />\n<br />\n<br />\n<br />");var divs = document.getElementsByTagName("div");for(var i=0;i<divs.length;i++){for(var j=0;j<list.length;j++){if(divs[i].innerHTML.match(list[j])){if(divs[i].className=='Extends-details' || divs[i].className=='Extends-details last-details'){divs[i].innerHTML = '';}}}}}
 

 以下の手順でoperaの設定を行なって欲しい。

  1. 上記のコードをJavascriptファイル(.js)として新規保存する。保存先のフォルダは仮に「opera」とし、デスクトップ直下に配置することにする。
  2. Yahoo!知恵袋の質問ページを開き、「設定」→「詳細設定」→「コンテンツ」→「サイトごとの設定を編集」→「追加」の順にクリックする。
  3. 「一般設定」タブの「サイト」の項目に、「detail.chiebukuro.yahoo.co.jp」と入力する。
  4. 「スクリプト」タブの「ユーザーJavaScriptフォルダ」の項目に、1.で保存しておいたJavascriptファイル(.js)のフォルダ「opera」を指定する。
  5. 「OK」をクリックする。

 こうして設定しておくと、operaブラウザで質問ページを開いた時に、ブックマーレットのようにクリックせずとも、禁止ワードが含まれている回答を自動で「非表示」にすることができるようになる。


■ 非表示に設定するコードについて

 Yahoo!知恵袋の質問ページのソースを見てみると、各回答はそれぞれ<div class="Extends-details" style="z-index:50;overflow:visible;"></div>の中にある。このため上記のブックマークレットでは、まず<div class="Extends-details" style="z-index:50;overflow:visible;"></div>を検索し、その中に配列listに格納した禁止ワードが含まれていないかどうかを調べ、禁止ワードが含まれていた場合はinnerHTMLでHTML要素そのものを全てなかったことにする、という手筈を採っている。 

 したがって、今後もしYahoo!知恵袋のタグの編成が変わり、<div class="Extends-details" style="z-index:50;overflow:visible;"></div>がなくなってしまえば、言うまでもなくこのブックマークレットも機能しなくなる。その際は、また改めてその時のソースに見合ったブックマークレットを設計し直さなければならない。

 このブックマークレットを応用すれば、禁止ワードが含まれている回答に限らず、特定IDによる全ての回答を「非表示」にすることもできる。企業の広告宣伝用のコンテンツを「非表示」にすることもできるようになる。ウェブサイトの運営者や管理者たちの中には、ユーザーが意図通りの情報を知覚しなくなってしまうために、こうした方法を忌み嫌う者もいるかもしれない。しかし、運営者や管理者たちの意図通りに情報を知覚しなければならないなどという道理は無い。こうしたブックマークレットの技術を一般のエンドユーザーに向けて普及させることは、荒らしやスクリプトキディによる投稿に限らず、プロパガンダ(propaganda)への対策としても有用となるだろう

(尤も、私はプロパガンダを批判するだけで何一つ食い止めることのできていない思想家や批評家たちに肩入れしたい訳ではない。私はそうした老害の存在意義を無くしてしまうほどの実践を重視したい。そもそもオブジェクト指向すらできない文系教養人に存在意義など在るのだろうか。)


■ 回答をインラインフレームの中で表示させる

 禁止ワードが含まれている回答を非表示に設定する方法は、残念ながら対「空爆」用の対策としては未熟である。空爆は、別に<br>タグを使用せずともできてしまうからだ。字数制限ギリギリまで埋め尽くした回答を複数のIDから投稿し続けていけば、空白の投稿ではなくなるだろうが、空爆と同じ効果が得られる。空爆が脅威となるのは、単純に回答のスペースが縦に長くなるからなのだ。したがって、回答の内容はもはやさして重要ではない。空爆による攻撃を仕掛ける立場からすれば、回答のスペースが縦に長くすることこそが重要なのだ。

 これを前提とすれば、空爆に対する根本的な解決策となるのは、回答のスペースが縦に長くならないようにすることとなる。その方法は色々とあるだろうが、今回はインラインフレームに注目してみた。下記のコードを見て欲しい。

コード

  • javascript:(function(){var divs = document.getElementsByTagName('div');for(var i=0;i<divs.length;i++){if(divs[i].className=='qa'){var comment = divs[i].innerHTML;divs[i].innerHTML = '<div style="overflow:scroll;width:100%;height:300px;">' + comment + '</div>';}}})();

■ このコードについて
inline

 




 

 このブックマークレットは、回答のスペースのHTMLタグ:<div class="qa">の中に書き込まれている回答を<div style="overflow:scroll;width:100%;height:300px;"></div>の中に埋め込むように機能する。overflow:scroll;は<div>の中身を疑似的なインラインフレームの中に表示させるためのものだ。height:300px;なので、縦の長さが300px以上の回答を読むには、フレームをスクロールさせなければならない。それぞれの回答者の回答の冒頭を読んで、興味・関心のある回答ならばスクロールして続きを読めばいいだろうし、単なる荒らしや空爆であれば、スクロールせずに次の回答を読めばいい。

 (※疑似インラインフレームは200pxくらいが丁度良いと言う人もいるので、そのあたりは好みに合わせてください。)

 空爆を受けている回答のスペースであっても、画面全体を必要以上にスクロールさせずに済ませることができる。こうして空爆を仕掛ける側の目的を物理的に達成できないようにすることができる訳だ。

 ただし、これもまた知恵袋のHTMLタグ次第で機能しなくなることがある。例えば<div class="qa">がなくなれば、このブックマークレットは機能しない。その場合は、また改めてその時のHTMLタグに即した形でブックマークレットを再設計しなければならないだろう。 


■ 二つの方法の比較

 質問のページを軽量化するアプリケーションで「空爆」の成立条件を封じる方法の場合は、 「空爆」を無効にするための処理を全てサーバサイドで実行するため、ブラウザを「空爆」による被害から守り通すことができる。

 ただしこのアプリケーションのもともとのメイン・テーマは「軽量化」であったため、質問者・回答者のIDやアバターや称号をも表示されないようになっている。したがって、「空爆」から免れた安全地帯で「馴れ合い」をしたいという利用者には、この方法は向かない。 一方、「空爆」から免れた安全地帯で、回答者の人物像や称号に囚われずに、ただ純粋にその回答の内容の質からベストアンサーを選びたいという質問者たちからすれば、この方法は有用となるだろう。

 どうしても「馴れ合い」をしたいという利用者は、もう一つの方法であるブックマークレットを利用すべきだろう。これなら、質問者・回答者のIDやアバターを表示したままにしておくことができる。ただしブックマークレットの処理は一旦ブラウザで「空爆」が含まれている質問のページを開いた後に実行されるので、ブラウザへのダメージは避けられない。安全性で言えば上記のアプリケーションを利用した方が良いと言える。


  • こうしたらどう?

    charles_yoshinoさん

    「空爆の回答を違反報告するスクリプトが欲しいところです。」(閲覧日時:2012/3/5 23:17)

  

返答

  •  ご自分でお造りください。
  

このノートは役に立ちましたか?

役に立った!
お役立ち度:
1点(5点満点中)

1人が役に立つと評価しています。

この知恵ノートをブックマークする:

Yahoo!ブックマークに登録

違反報告

アドバイス(このノートのライターへのメッセージ)を送る

このノートはどうでしたか?  いいと思ったことや、こうしたらもっとよくなるといったメッセージを送りましょう! ノートの内容やライターについて質問がある場合は、Q&Aから質問してみましょう

アドバイスを送るには、
Yahoo! JAPAN IDでのログインおよび
Yahoo!知恵袋の利用登録が必要です。

利用登録ナビへ

感想アドバイス履歴

  • 送信日時:2012/03/05 23:09:28

    charles_yoshinoさん

    こうしたらどう?

もっと見る

このノートに関するQ&A

このノートに関するQ&Aは、まだありません。

このノートについて質問する

このノートについてライターの方に質問できます。

※ライターの方から必ず回答をいただけるとは限りません

※別ウィンドウで開きます

PR

carview愛車無料査定

この知恵ノートのライター

グレード

グレード知恵ノートのグレード:3-3

rank_0utさん

■ 告知:Botについて  科学、学問、原発問題、デモ、クーデタ...[続きを見る]

その他の知恵ノート(75件)
TwitterのBot、特定ユーザの質...
Yahoo!知恵袋の「自分で調べろ...
回答数の多い「回答受付中」の...

ピックアップ

【医療費控除】を賢く使って節...
医療費控除とは?医療費控除は、自分または自身と生計を一に...
見本市に行きましょう(コツと...
見本市(エキスポ、展示会)は良い刺激になりますインターネッ...
歯を白くする方法教えます!
はじめに知恵袋の歯に関する質問で最も多いものの一つが歯を...

こんなノートがほしい! リクエストする

最大文字数100文字入力できます

リクエストが送信されました。

いただいたリクエストは、Yahoo!知恵袋スタッフが確認のうえ、ライターの方向けに書いていただきたいテーマとして掲出いたします。

続けてリクエストする

知恵ノートを書いてみませんか?知恵ノートの書き方はこちら

知恵ノートとは?

役立つ知恵情報は、Yahoo!知恵袋公式Twitter@yahoochiebukuroをフォロー
本文はここまでです このページの先頭へ