Hatena::Star::Mobile

はてなスター

[9] はてなスターは、株式会社はてなWebサービスです。

機能

[15] はてなスター

記号表示

[3] 記号としては (カラースター) を使うようです。

JSON API

[4] https://s.hatena.ne.jp/entries.jsonHatenaStar.js の初期表示で使われています。 スター数が多い時に数字で省略表示されますが、 それに相当する情報が入っています。つまり全件取得には使えません。

[5] querycallback 引数を指定すると、 指定された関数名の JSONP になります。

[6] CORS に対応しており、任意の起源からアクセスできます。


[7] https://s.hatena.ne.jp/entry.json は省略されずにすべてのスターの情報が入っています。 (ただし count を使ってまとめられていることはあります。)

[8] querycallback 引数を指定すると、 指定された関数名の JSONP になります。 CORS には対応していません。


[24] Hatena::Star::MobileはてなスターJSON API 呼び出しをラッピングした Perlモジュールです。

[26] 株式会社はてな社内で作られたもので、かつてはガラケーはてなサービス内でも使われていました。

CSRF

[10] はてなログインしている状態では、任意の起源JavaScript コードから、 JSON API を通じてそのはてなID の権限でスターの情報を取得したり、操作したりできます。つまりこれは CSRF 脆弱性です。

[21] 例えば好きな URL に勝手にスターをつけることができます。

[16] 引用スターを使っていると、引用文が外部から取得できることになります。

[20] スターコメントを使っていると、コメントが外部から取得できることになります。

[11] この問題は初期から第三者により報告されていますが、修正されていません。 mixi足跡機能のように使っている外部サイトもあります。

[12] 一般の利用者が自衛するには、はてなからログアウトするしかありません。

HTTPS

[17] はてなスターs.hatena.ne.jp には HTTPS でもアクセスできます。 しかし素のHTTPでもアクセスでき、 HSTS には対応していません。

[18] これはスターをつける対象のサイトが HTTPS であっても変わりありません。 また素のHTTPのアクセスで HTTPSURL のスター情報を取得することができます。

[19] つまり HTTPS を使って個別のアクセスを安全にすることはできても、 スターの情報 (はてなIDスターコメント引用文など) は安全とはいえないことになります。従って、 HTTPSWebサイトでは、 はてなスターを利用するべきではありません。

第三者クッキー

[22] 外部サイトでは、 第三者クッキーによるログインが必要になるため、 Webブラウザーによっては動作しません。 (最近の Webブラウザーは規制を厳しくする方向にあります。)

[23] よって外部サイトでは使うべきではありません、というか使うのは困難です。

メモ

はてな

[2] SuikaWikiをはてなスターに対応させてみた

[14] はてなスターSiteConfig作成方法とは - はてなキーワード ( 版) http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%B9%A5%BF%A1%BCSiteConfig%BA%EE%C0%AE%CA%FD%CB%A1