はてなスターを使用して、はてなユーザーをブロックする方法

  • 投稿 : 2011-05-30
  • 更新 : 2013-05-12

はてなIDがばれるって本当?

実際に少し試してみただけで、完全にできるかどうかは不明。
はてなIDの取得までは問題なく動作しているので、おそらく、可能。

「はてなスター 足跡」で検索するとはてなスターをつかってログイン中のはてなIDを取得する方法が出てきます。その方法が、今も使えるようです。

以下のサイトは、はてなにログインした状態だと、はてなIDが表示されます。ログインしてない場合は、ゲストですみたいな表示になります。下のリンクを踏むのは自己責任でお願いします。

[Security] HatenaのIDが抜ける件について - いそっちノート

ここのソースが一番シンプルで分かりやすかったです。記事に直接埋め込まれてますので、HTMLソースを見でJavascriptの中身がわかります。ソース自体は100行もなく、またこれだけで動作します。ローカルにおいても動作します。必要箇所の抜粋は、こちらにもコピーしておきました。

このサイトで、ログイン中のはてなIDは表示される限り、対策はされてないと考えられますので、はてなIDを取得してブロックすることが可能です。ブロックするとかしないでも、こそっとログを取って、だれが何時に訪問しているのかがわかるようになります。

Javascriptから外部のPHPなどを呼び出してログに書くのが確実ですが、そういうことをしなくても、はてなスターのコメントにアクセス時間を書き込んでおくだけでも記録が可能です。

プログラムの話なのでよく分からない人向けに説明すると、はてなスターを付けるURLを決めます。このURLに対してログイン中のはてなユーザのIDをつかってはてなスターをJavascriptでこっそりと自動でつけるんです。そうすると、あなたのはてなIDもばれますし、記録も可能になります。

検索するとそれなりにヒットしますし、はてなにも要望とかでも上がってますので「周知の事実」だと思います。はてなスターを使った足跡帳を設置しているサイト(はてなー☆来歴:はてなダイアリーに貼付可能な☆を利用した足跡帳 - 風柳メモ)もありました。

防御する方法はないの?

毎回ログアウトする。それも、はてなと関係ないサイトのリンクを踏むときは、毎回ログアウトする。

もしくは

はてなスターをブログに設置するには
ここを見ると、s.hatena.ne.jpからスクリプトを読んでるようですし上記のサンプルでもs.hatena.ne.jpを使ってますので、ウイルス対策ソフトなどで遮断すればよいでしょう。
s.hatena.ne.jp へのアクセスを簡単に遮断する方法でも遮断できます。

私は、はてなのサービスを使ってないのでわかりませんが、これをやるとたぶん通常利用でもなにか問題が出てくると思います。

ほかにできることは?

自分が☆を付けた履歴を見れるStarsページを追加しました - はてなスター日記

http://s.hatena.ne.jp/ユーザー名/stars
にアクセスすると、履歴が見れます。(他人のは見れないようです)。
あと気になるようなら、ここから削除ができます。

タイトルに戻って

修正前
function show_result(result){
   document.getElementById('hatenaId').innerHTML='あなたの はてなID は ' + 
   result.name + ' です';
}
修正後
function show_result(result){
   window.location.href="http://移動させたいURL";
}
上記の参考になるソースの部分をリダイレクトするようなコードをいれれば、はてなにログインしているはてなユーザーをJavascriptでブロックできるでしょう。

参考になるソースで変更すべきところをあげておきます。
http://s.hatena.ne.jp/entries.jsonでuriを指定してますので妥当なものに書き換えましょう。http://s.hatena.ne.jp/star.add.jsonで、uri,title,location,tokenあたりも妥当なものに書き換えましょう。tokenはなくても動作しましたが、はてなスターの設置でtokenを取得したほうがよいかもしれません。

やりたい人は、頑張ってください。もっと巧妙に細工したほうがよいと思います。
もしかすると、何らかの対策がなされていて、途中からスクリプトの利用が遮断されるとかはあるとかもしれません。

ほかに本人の意図しないところにはてなスターを付けることも可能でした。URLはどこを指定しても、動作します。他人のサイトのURLを指定しても動作します。さすがそこまでやると問題あると思います。はてなスターは明示的に足跡を付けるものとして存在するようですが、このように本人の意志とは別にも、足跡の記録が可能なのです。

はてなIDとアクセスしてきたIPとの関連付けも可能です。

新しい仕様でも、JavaScriptが実行可能な環境で意図的にスクリプトを仕込むことで意図しない☆が付く動作を実行させることが可能ですが、はてなダイアリーやグループなどのJavaScriptを自由に書くことができない環境ではこのようなことはできなくなっています。
はてなスターの認証強化について - はてなスター日記
【このブログで関連ある記事】
はてなブックマーク(はてブ)を拒否する方法を試してみる
スポンサーリンク