
GoogleはJavaScriptで隠匿したメールアドレスを読み取り、検索結果に表示している? 100
ストーリー by hylom
別に驚きはないけど 部門より
別に驚きはないけど 部門より
あるAnonymous Coward 曰く、
メールアドレスをウェブページに公開する場合、アドレスをHTMLでそのまま書いてしまうとスパム業者の格好の的となってしまう。これを避けるには、アドレスをgifやjpegなどの画像で表示させたり、分断して記述したアドレスをウェブページでは一続きに表示させるようなJavaScriptを使用することが有効であるとされてきた。projecthoneypot.orgではスパム対策として、このようなJavaScriptを自動生成してくれるツールも公開している。
しかし、GoogleはこのようなJavaScriptからメールアドレスを構築し、ウェブページのサマリーにアドレスを表示してしまうようになったとの報告が本家/.にて取り上げられている。
元記事であるbaxil.livejournal.comによると、HTML上ではJavaScriptで改変して記述してあるアドレスが、検索結果できちんとアドレスとして表示されるようになり、以前ではスパムが送られてきていなかったアドレスがスパムリストに載ってしまったという。
/.Jer諸兄方で同様の変化に気付いた方などいらっしゃるだろうか?
隠匿してない (スコア:5, すばらしい洞察)
そのJavaScriptを認証によるアクセス制限のかかっていないところに置いている時点で全然隠匿できてないわけだが.
公開されているスクリプトを実行して,その結果からテキスト抽出することに何の問題もない.
屍体メモ [windy.cx]
Re:隠匿してない (スコア:3, すばらしい洞察)
BotはJavaScriptを実行できないという、メールアドレスの隠匿とは本来全然関係ない勝手な仮定が破綻しただけの話ですよね。
Googleがやらなくたってspam業者が自前で走らせているbotはそのうちやるようになるに違いありませんし。
robots.txt等無視してるならクローラーが悪いんだろうけど (スコア:1)
robots.txt等無視してるならクローラーが悪いんだろうけど,
そういうことではなく「スクリプトまでは解釈しないだろ」
っていう一方的な思い込みが裏切られたってことですからねぇ.
これだって,ブラウザはJavascriptを実行した結果として得られたHTMLを表示しているわけであって,
同じHTMLからクローラーが抽出してるだけですし.
そのスクリプトが操作しているのはDOMであってHTMLじゃないとか,
クローラーはブラウザに搭載されているエンジンほどは
忠実にスクリプトを実行しておらず,特定のコードのパターンから
文字列連結などで推定しているだけかもしれないとか,
いろいろと反論することは可能ですが,やっぱりrobots.txtで
明示的に意思表示しておく必要があると思います.
まぁそれでも非紳士的なクローラはたくさんありますし,
本文も抽出するようなソーシャルブックマークに
登録されてしまえばそっち経由で漏れますが.
屍体メモ [windy.cx]
参考までに (スコア:2, 参考になる)
> っていう一方的な思い込みが裏切られたってことですからねぇ.
Web屋が新人教育やSEOの文脈で話す際は、
「現時点では全てのクローラーがJavaScriptを解するワケでは無い」
と、説明しています。
即ち、完全に意図通りに動くかどうかは兎も角として、
(また、その結果をDB等へ反映させるか否かは兎も角として、)
JavaScriptを解するクローラーが存在している事は知られていました。
Re:参考までに (スコア:1)
あらゆるクローラなんて把握できないし.
Re: (スコア:0)
逆に考えるんだ。「Googleを監視すれば悪質業者の手口が解析できる」と考えるんだ。
Re:隠匿してない (スコア:1)
この記事だけじゃなく、最近の記事タイトルの偏向っぷりはひどいね……
東スポ並みに事実とはかけ離れたタイトルを付けられることが多くなっている。
ψアレゲな事を真面目にやることこそアレゲだと思う。
Re:隠匿してない (スコア:1)
少し前までは「Google のやることはすべて善で Microsoft がやると悪か。偏ってんな」みたいなコメントが多かったし、これはこれでバランスがとれてんのかな。というかその調子だと何書いても「偏ってる」って言えるね。
Re: (スコア:0)
なんかアイドルのファンに向かって、「そんなの裏で男とやりまくってるに
決まってるじゃん(w」とか言ってバカにしてるレベルだよな
何故Googleに焦点が? (スコア:1)
スパム業者も別にGoogle使ってアドレス集めてる訳でもあるまい。
問題はスパム業者の使っているクローラの性能だろ・・・
アドレスをクロールして集めるとして、
スパム業者もよく使われる改変くらいは突破して集めているんじゃないですかね。
Re:何故Googleに焦点が? (スコア:1, 興味深い)
>何故Googleに焦点が?
とりあえずの例としてGoogleが実際に行っているからでは?
spam業者とGoogleでは規模が違う訳でして。
で、これはGoogleがどういう意図でやっているかってのが意外とGoogleという会社を判断するには参考に成るかもね。
隠匿されれたメールアドレスと認識してやって居るのであれば、それはもう、自己利益の為には他人の迷惑は考えないって事だし、
何等かの対処なり(最低限でテキトーなプレスリリースで注意を促すとか)がされるなら、一応外部と折り合いを付けようって意思
が有るとも見れますし。
Re: (スコア:0)
隠匿はしていないかも知れないが、これはGoogle自体も思ってなかったのでは無いかな。
動的に生成されたページへのクロール効率を上げようとして引っかかっただけでしょう。
技術的に認識出来る要になれば外す様になると思う。
#不特定多数からの連絡窓口の通知ってのはどうやっても知らない人間が見付けられるのが前提だしなあ。
Re: (スコア:0)
メールアドレスを晒す理由って何?
連絡窓口のつもりならそれ用の入力フォームでも作っておけば十分だし、他にアドレスを晒す理由ってあるのかな?
Re:隠匿してない (スコア:3, 興味深い)
> 連絡窓口のつもりならそれ用の入力フォームでも作っておけば十分だし、他にアドレスを晒す理由ってあるのかな?
いかがわしい携帯サイトの運営に関わったことがありますが、
特商法の関係上、嫌でも連絡先窓口をサイトで晒す必要があります。
法的に電話番号の記載が必須なのですが、
面倒なのでなるべくなら電話ではなくメールで問い合わせをして欲しいわけです。
ただ、検索なんてされたくないですし、
できれば問い合わせそのものをあきらめて泣き寝入りしてほしいのが本音です。
訴えられないように最低限の情報は載せる必要がありますし、
また業者との取引(広告掲載やクレジットカード加盟店契約)で審査されることもあるので、
メールフォームはおろか tel: や mailto: のリンクも無しに、
画像で連絡先を掲載していました。
携帯サイトですので、一旦、紙などに書き写してから、手入力しなければ、
電話にしてもメールにしても連絡できないわけです。
メールアドレスには「0(ゼロ)」と「O(オー)」、「1(イチ)」と「l(エル)」を
混在させ、不必要に長いものにして連絡する気を無くさせます。
Re:隠匿してない (スコア:1)
>メールアドレスを晒す理由って何?
>連絡窓口のつもりならそれ用の入力フォームでも作っておけば十分だし、他にアドレスを晒す理由ってあるのかな?
フォーム作る手間が大変だからじゃないですか。
連絡取って貰いたい人は、メールアドレス書くだけで、連絡を取りたい側は
連絡を取るためのツール(メーラー)を自前で揃えて連絡してくれるわけで。
仕組みとしては、シンプルで綺麗だと思います。
(性善説が通る世界ではね)
この件、どうしてもGoogleのせいにしたいなら
Gmailを連絡窓口にすればいいんじゃないかと思った。
Gmailに匿名URLでフォームを作る機能があれば 便利 (スコア:1)
Gmailにメール受付フォームを作る機能があれば便利だと思いました。
いわゆる「プライベートURL」で見えるページで。
もしスパムがたくさん来るようになったらその「プライベートURL」
を生成しなおせばいいだけだし。
有料サービスではフォームを複数作ることができるってことにすれば
収益にも貢献するんじゃないかなぁ。
#もしかして Gmail Labs に既にあったりして。
屍体メモ [windy.cx]
Re:隠匿してない (スコア:1, おもしろおかしい)
>メールアドレスを晒す理由って何?
spam収集用とか……
Re: (スコア:0)
その通り。
もちろん、画像化したメールアドレスを読み取って勝手に公開しても、
それは人が読めるような形でメアドを公開している方が悪いわけで。
Google の実験ではないでしょうか (スコア:5, 興味深い)
このような実験の一環として、JavaScript を認識する Googlebot を稼働させているのではないでしょうか。
今年の4月頃、仕事で管理しているウェブサイトのアクセス解析を行っていた際、
JavaScript を認識する Googlebot が存在するのではないかとの疑問を抱かせるデータを目にしました。
このサイトでは Google Analytics [google.co.jp] を用いてアクセス解析をしているのですが、
ブラウザ別の統計に「Googlebot/2.1」のアクセスがあることが確認できたのです。
Google Analytics の仕組みでは、HTML 内に JavaScript を埋め込むことでアクセスを解析しているため、
Googlebot が JavaScript を認識できなければ Google Analytics にはアクセスがカウントされないはずなのです。
Googlebot が Google Analytics のコードのみを解釈している可能性も考えましたが、
あえてアクセス解析のデータに bot のクロールをカウントするメリットがありません。
むしろ bot アクセスのデータが混入することで Google Analytics の精度を下げてしまうわけであり、
Google にとってはデメリットしかなく、そのようなことはまずないと考えました。
また、当該サイトには毎日百回以上の Googlebot のアクセスがありますが、
不思議なことに、Google Analytics で検出されたアクセスは1週間に数回のみで、
トップページのみに限定されていました。
このアクセス数の少なさから、この Googlebot は「実験用ではないか」と推測しています。
アクセス元のアドレスは間違いなく Google Inc. のものであり、
UA を Googlebot に偽ったブラウザによるイタズラということはありません。
# Google 内部にそういう PC がある可能性は否定できませんが...
GoogleBotはさまざまなJSを解釈している (スコア:5, 興味深い)
自分の持っているサイトで、select要素のonChangeで別ページに遷移する仕組みを取っています。
実際にモノ [orelabo.jp]を見ていただいたほうが話は早いのですが、
複数のselect要素を用意してさまざまな組み合わせを自由に選べるようにしています。
このページにGoogleBotがやってきたのですが、この組み合わせを全部試していってくれました。
毎日数千アクセスがあり、それが何日も続きました。
組み合わせを変更しながら試していた様子はアクセスログで確認しました。
よって、GoogleBotはdocument.writeのような簡単なスクリプトだけでなく、さまざまなJSを解釈し、
実行していると認識しています。
# ちなみに、Yahooなどのクローラではそのような挙動をしていませんでした。
Re:GoogleBotはさまざまなJSを解釈している (スコア:1)
前述のGoogleBotのよるクロールはサイト開設後数日のことでした。
その時点で人間によるアクセスは数件。それに対してGoogleBotは数千件。
GoogleWebマスターツールでサイト登録を行ったので、外部からのリンクはなし。
また、前述のonChangeとかだけでなく、他にもJSでしかたどれないリンクをたどっていました。
よって、GoogleBotが順番に組み合わせてると判断できました。
それに、勝手に推測してパラメータを組み合わせるなんてことをされたら、
セキュリティホールを突く可能性とかあるのでやらないと思うんですが。
# そんなのでセキュリティホールになるようなつくりにしているオーナーが一番間抜けではありますが。
こうなったら、 (スコア:4, おもしろおかしい)
1マス1ドットで。
Re:こうなったら、 (スコア:1)
と言うことは、
逆にAAで記述も可能って事ですな。
Re:こうなったら、 (スコア:2, 参考になる)
figlet [figlet.org]の出番ですね!
Re:こうなったら、 (スコア:1)
[注意]コメント主は大変叩かれ弱い性質です。優しく接してあげて下さい
~おもしろおかしい以外に興味はありません~
Re: (スコア:0)
Re:こうなったら、 (スコア:1)
文字をtableタグで段組するんじゃなくて、
tableタグでつくった1ピクセル*1ピクセルの枠をたくさん並べて図形を表示するんだ。
テーブルアートとかテーブルタグアートとかでググれ。
Re:こうなったら、 (スコア:2)
Acid Test的なもので表示させたらいいんじゃないかな。
Acid Testに通らないブラウザでは表示できません。っていう・・・
# クローラがAcid Testに通ったら、敬意を表して取得させてやってもかまわん。
Re:こうなったら、 (スコア:1)
という具合にして薬の名前がメールフィルターにかからないようにした
スパムメールが来てたことがありました。
<table>
<tr><td valign="bottom">f</td>
<td><font color="white">o</font><br>o</td>
<td valign="bottom">o</td>
<td><font color="white">b</font><br>@</td>
<td valign="bottom">b</td>
<td><font color="white">a</font><br>a</td>
<td valign="bottom">r</td>
<td><font color="white">k</font><br>.</td>
<td valign="bottom">c</td>
<td><font color="white">a</font><br>o</td>
<td valign="bottom">m</td>
</tr>
</table>
いたちごっこは終わらない (スコア:4, すばらしい洞察)
問題はそのロボットを作るコストに見合ったリターンがあるかどうかで、猫も杓子も同じような隠し方をするならコストパフォーマンスは向上します。
メールアドレスの公開をやめてメールフォームを作っても、そのフォームの送信先がデータとして流通して、同じようにスパムが来るかもしれません。
人件費がスパムの単価に対して十分安ければ、人力でやることもあるかもしれません。
googleのがんばり (スコア:2, 興味深い)
Re: (スコア:0)
画像を文字列化するのも時間の問題ですね。
# と云うか foo [at] example.net で書いても引っかかるというのは公知にすべき事柄じゃないかしらん?
document.writeは前から… (スコア:1)
それが以前より若干高機能になっただけの話だと思います。
私の場合
document.body.innerHTML = document.body.innerHTML.replace('※猫大好きフリスキー※', '@');
document.body.innerHTML = document.body.innerHTML.replace('スパムメール対策のため、@を※猫大好きフリスキー※に変えています。@に戻してお使いください。', '');
とかでいい加減に誤魔化してましたが、こんなのもいずれ無力にかもしれませんね。
script実行に1分かかるようなページにしておけば、Google様も諦めてくれるかもしれませんが……。
# PigPGP [faireal.net]とか使ったらDoS紛いが出来るかな? :p
Re:document.writeは前から… (スコア:1)
ギャフン。投稿用に改変したらバグってた……。
実行順を入れ替えるか、1行目が2行目に干渉しない内容にする必要があります。
Re:document.writeは前から… (スコア:1)
「このページ開いたらCPU使い過ぎてうざい!」とかで嫌われる可能性ありますけどね。
# javascriptでCPU食わずにsleep出来れば無問題でしょうが。
Re:document.writeは前から… (スコア:1)
メールで連絡する場合はみたいなリンクに切り替えて、そのページだけに仕込めば良いのでは?
通常負荷も気にならないレベルに落ちるかと。
後はrobots.txtに*.jsを指定した場合にどうなるかが気になるかな?
Re:document.writeは前から… (スコア:1)
面倒ですが、setIntervalをsleep代わりに使えないですかね?
使ったところで、クローラが律儀に待ってくれる保証はありませんが。
ダミーリンクとリダイレクトが記述されているHTMLをiframeで読み込み、読み込み時にCookie Aを食わせる。
ダミーリンクを踏むとCookie Bを食わせる。リダイレクト先を読むと、Cookie Cを食わせる。
Cookie Aがあり、かつ、Cookie Bがなく、かつ、Cookie Cがある場合のみ、正しいメールアドレスが表示されるようなスクリプトにする。
というのを、思いついた。
1を聞いて0を知れ!
javascript解析なんてやってるの? (スコア:1)
なんかGoogleが悪いことをしているように誘導しようとしてませんか? (スコア:0)
Re:そのACはどのAC? (スコア:1)
他のトピックの AC 率を計算して検証してみたら。
#そもそもアレたまなんてつい最近始まったものなんで、「アレたまを経ないものは…」とか言われるとむしろビックリ。今までのは何だったんだ。
Re: (スコア:0)
>ACのタレコミの場合、アレたまを経由しないため、
普通にアレたまで見えますが...?
あなたがフィルタしてるだけでしょう。
Re: (スコア:0)
確かに編集者がACでたれ込んで同じ編集者が時間経った後採用したようなケースもあるけど、IDのタレコミの評価で採用が決まる訳じゃないよ。
それか、ほとんどの人は別の人が同じネタをすでにたれ込んでいたら、10分も1時間もかけて採用されないかもしれない文章を作るのは無駄なので、たれ込むことを止めるわけだから、あなたが一番始めに偏向してない文章でタレコんでしまえばいい。これが一番。
Re:そのACはどのAC? (スコア:1, おもしろおかしい)
http://www.aretama.com/ [aretama.com]
1935年に設立されたコロンビアの食品会社
Re:そのACはどのAC? (スコア:1, すばらしい洞察)
こっちの方が便利ですよ(Was: Re:ぶっちゃけ (スコア:2, おもしろおかしい)
1を聞いて0を知れ!
Re:ぶっちゃけ (スコア:1)
ケブンッリジをどう使うのかは分かりませんが、(現状だともし次の行が注意書きだと認識できるbotならば、2バイト文字をスペースに置き換えるだけでac→anonymous.cowardの変換と推測できますね。
私もケブンッリジをCAPTCHAに使えないかどうか考えたことがありますが、辞書攻撃で破れてしまいますね。
Best regards, でぃーすけ
Re:ぶっちゃけ (スコア:1)
anonymous@example.com
※anonymousはaと書き換えてください。
Re:ぶっちゃけ (スコア:1)
もちろん、そんなアドレスは何処にも書いていないですけどね。
なので、@の前と後別々に集めてかけ算しているのではないかという疑いがあります。
Best regards, でぃーすけ
Re:spam来ない (スコア:1)
/. で曝せば おてまみ 増えるかもよ。
Re:spam来ない (スコア:1)
すごくクロールされるようになるからいいと思うよ。