小野マトペの業務日誌(アニメ制作してない篇)

はてなダイアリーの閉鎖をうけ、旧ブログ http://d.hatena.ne.jp/ono_matope/ から移行しました。続きは→ http://matope.hatenablog.com/

はてなQuickClip0.1.2

ono_matope2006-09-08

URLにエスケープ文字が含まれているとき適切にエントリーページを呼び出せなかったバグを発見したので、これを修正しました。今回の修正ではてなキーワードページやAmazonの新URL等で適切に動作するようになりました。


詳細:エントリーページ呼び出しにescape(url)としたところ、既にescapeされている部分がさらにescapeされてしまっていたので、escape(unescape(url))と、一度unescapeを挟むカタチに変更。ちなみにHatenabarはこの問題に対応していないっぽいです。


…のは良かったんだけど、折角対応した「更新を確認」アップデート機能が働かない?う〜ん、すいません、こちらから再ダウンロードしてください。

『全サイトはてブ化』にアフィリエイト書き換えの不具合があるので、いぬビームさんに報告してみる。


id:kusigahamaさんの全サイトはてブ化・その場コメント・ワンクリブクマについて。


今回、機能拡張とGreasemonkeyを作るに当たって、いぬビームさんのhb_addictを勝手に参考にさせてもらったんですが、その際アフィリエイト書き換えに関する不具合に気付いたので、トラバで報告させてもらいます。


さて、いぬビームさんはIDの追加に際し、『アフィIDのついていないAmazonへのリンク(exec/obidos記法)にtakochu04-22/ref=nosim/を追記する』正規表現ルーチンで他ID付きリンクの乗っ取りに対して防止策を打っていて、一見これで問題ないように見えます。ですが実はこれだけでは、Amazonサイト上での内部リンク(exec/obidos記法による)も書き換えてしまい、外部サイトからAmazonに誘導したリンク主のアフィリエイト権(Cookieで保護されていた)を上書きしてしまいます。


つまり、外部サイトからAmazonに誘導する段階では他人のアフィリエイトのままでも、もしユーザーがAmazonサイト内のexec/obidosリンクでAmazon内の他の商品ページに移動した場合、その段階でアフィリエイト権がtakochu04-22に移ってしまう事がありうるということです。これは、原則としてアフィリエイトリンクがAmazonサイトの『外』にあり、本来のアフィリエイト権が、他の誰かのリンクを踏むまで有効であったはずのものだと考えると、フェアではない、間接的なID乗っ取りに当たると思われます。
これは、Amazonサイト内のリンクにアフィリエイトIDを仕込めるのが、Greasemonkeyなど限られたクライアントスクリプトだけであることによる盲点、「うっかりミス」かと思います。


とはいえ「現在は」この不具合はいぬビームさんにそれほどの不当な利益をもたらす、evilなものではありません。何故なら、この数ヶ月(もっと前から?)で、Amazonサイト内のリンクのうち、hb_addictの書き換え対象であるexec/obidos記法リンクは激減しており、商品ページからexec/obidosリンクを踏む可能性は非常に低いからです
試したい方はこちらからどうぞ。hb_addictを利用中の方は、onomatope-22を付けたhttp://www.amazon.co.jp/exec/obidos/ASIN/4480062858/onomatope-22/ref=nosimから*1、左下に出るリコメンド商品(今なら『話題の伊藤若沖画集』?)、もしくは和書やミュージックなどのストアトップに飛んでの商品画像リンクなどにtakochu04-22が入ってますが、そのほかの『類似商品』などの『踏みそうな』リンクは軒並みgp/product記法や商品名を含む新記法になっていることが確認出来ると思います。


と、まあ現在はこの様に『死につつある』不具合なのですが、一応ご報告のトラバを打たせてもらいます。しかし、これほど注目を浴びたソースコードなのに、誤追記の芽が残っていた事が意外。

今回の件で散々人目を浴びたスクリプトですから、他の部分に思わぬ落とし穴があるなんてことは、たぶんないでしょうし。
Greasemonkeyスクリプトでアマゾンアソシのまとめ

当時『ソース嫁』論者もいたけど、ソースからじゃ見えないエラーもあるって事なんだろうか。というかソースを見なくても、今まで誰も気付かなかったんだろうか?
あ、因みにこのエントリーはいぬビームさんが自作のコードにアフィリエイトをつける事自体を非難するものではありませんので、悪しからず。アフィはアリだと思ってますし、問題になった当時のいぬビームさんの対応も誠実だったと思っています。だからこそ規約違反やモラル遵守に対しては厳密であるべきとの観点から、細かい事ながら口を挟ませて貰いましたです。Google×はてブは常用させて貰ってます。かしこ。


追記:ううん、エントリーという形にしたのは軽率だったかもしれません。コメントするには長すぎるためトラックバックという形で不具合報告をしたのですが、メールで連絡をし、修正をして頂くべきだったかもです。

*1:さり気なくアサマシやがった!