Home

しゃおの雑記帳

N-06D をやんごとなき事情で factory reset する方法 add this entry to hatena bookmarkhatena bookmark counter

やんごとなき事情で N-06D のパスワードもろもろ忘れてしまい、どうしてもファクトリーリセット(出荷時の状態に強制的に初期化) したい人向けの手順。たぶん N-04C / N-06C / N-01D / N-04D / N-05D なども同じ手順でいけます。

  1. 電源を切る
  2. 音量 + と – (操作上は本体中央側が + になっているがこの後の操作では 本体中央側が – ) を同時押ししながら電源をつける。音量 + / – は押しっぱなし
  3. しばらく待つと 黄色い exclamation マークとドロイド君が表示される
  4. 音量 – を押して “wipe / factory reset” を選択し、音量 + で決定
  5. Yes を選択
  6. IMEI (本体側面に貼ってある) の 2 桁目、12桁目、13桁目、14桁目を順番に入れる
    (3512 3456 7890 123 ならば 5 0 1 2 となる)
  7. 再起動すれば初期設定画面になる

機能制限されているのを解除したいからっていって、他人から借りた端末とかでやってはいけませんよ!

freenode で鍵つきの部屋をうまく管理するまでの手順 add this entry to hatena bookmarkhatena bookmark counter

nickserv とか chanserv とかよくわからなかったのでメモ。

/msg nickserv (/msg chanserv) コマンドは、 Tiarra を通している場合は /msg nickserv@freenode などと適宜置き替えること。

nickの設定 (部屋立てるときだけでなく自動なると付与される人も必要)


# 登録要求
/msg nickserv register (自分のパスワード) (自分のメール)

# メールが届くので、メールに書いてあるコマンドを入れる

# 認証 (tiarra の場合はネットワークパスワードに自分のパスワードを書いておけば OK)
/msg nickserv identify (自分のnick) (自分のパスワード)

部屋の設定


# 入室
/join #(部屋名)

# チャンネルサーバーに登録
/msg chanserv register #(部屋名) (管理パスワード)

# 部屋にモードを設定する
/msg chanserv set #(部屋名) mlock +snk-t (部屋のパスワード)

# なるとユーザのテンプレート
/msg chanserv template #(部屋名) op -*+vVoOtsriRfAF

# テンプレートを自動なると付与したいユーザに適用
/msg chanserv access #(部屋名) add (自動なると付与するユーザのnick) op

# 上記設定を維持するbot を常駐させる
/msg chanserv set #(部屋名) guard on

CIC のインターネット開示を Chrome で何とかする方法 add this entry to hatena bookmarkhatena bookmark counter

ふと自分の信用情報が気になったので、CICのインターネット開示 で見ようとしたのですが、まぁこういうサイトですし IE 以外はもちろん考慮されていません。

まず、トップページでプラグインと User Agent の確認をしているので、トップの次のページに直接移動してしまいます。

あとはデバッグコンソールから以下の JavaScript を挿入して関数をオーバーライドしてしまいます。(大変丁寧に、コメント部分に回避方法が書いてある)

function CheckAndForward() {
  var form = document.forms[0];
  form.method = 'POST';
  //ローカルPCの開発環境を使用する場合は、下記の行をコメントアウトすること。
  //インターネット開示開発環境及び本番環境の場合は、コメント化すること。
  //コメント化をしないとソフトウェアのインストールチェックが実行されません。
  form.submit();
  return;
  //
}

デベロッパーコンソールはメニューの”開発”項目に入ってます。

自分の信用情報ですが、特に問題なかったです。

とあるITエンジニアの持ち歩きアクセサリ add this entry to hatena bookmarkhatena bookmark counter

カバンを整理したので、僕が普段持ち歩いているアクセサリ類を晒します。

My belongings

左上から時計回りに

  • iPhone 4S – AT&T 版を Device Only で購入し、docomo の Xi 音声契約 UIM をつかっています。オレンジのBumper と PDA秘宝館で扱っている ポケットリングをつけています。
  • Apple Mini DisplayPort − VGA アダプタ – 急なプレゼンのとき、急にXserverに出くわしたときに。
  • SDカードリーダー – SDカードを2枚挿しでき、micro SD カードもアダプタなしで挿せるのがお気に入り。バッファローコクヨサプライのBSCRDSDU2 (生産終了、たぶん後続品でてるはず)
  • Apple USB Ethernet アダプタ – 無線LANが調子悪いとき、スイッチの設定をするときなどのために常備
  • 巻き取り対応Dockケーブル – 似たようなものはたくさんあるが、今はサンワサプライのKB-IPUSB08を使用。最近はコネクタ部が小さくなった後続品が出てます
  • Apple USB 電源アダプタ – たくさん買いました
  • USBメモリ – Ubuntu をブートできるようにして常備
  • micro USB ケーブルでガラケー (FOMA/au CDMA 1X) と iPhone が充電できるアダプタ – ドンキで見かけた充電器に入っていたのでアダプタ目当てに購入。型番失念。
  • タコ足ソケット – ありがちなやつ
  • micro USB ケーブルで iPhone が同期できるアダプタ – dealextremeで買えます
  • 短い micro USB ケーブル – GP02の付属品だったもの
  • micro USB から mini USB に変換するアダプタ – dealextremeで買えます。逆はよくみますが、mini化は他でみたことがないですね
  • 長い micro USBケーブル – よくあるやつ
  • Qi 対応のモバイル電源 – QE-PL201-K。これ持ってると安心
  • ドコモ F-12C – 1.7GHz 対応なのでアンロック(公式にやっている)すればイー・モバイルのUSIMが使えてとても便利。今は Android アプリの検証機兼モバイルルーターとして活用中

電話機以外をひとまとめにしてポーチに入れてます。

SIMフリー iPhone 4S をアメリカの Apple Store で買おう add this entry to hatena bookmarkhatena bookmark counter

iPhone 4S 、みんなゲットしましたか? カメラはすばらしくなった ものの 電池持ちが悪い みたいですが、総じていいデバイスですね。 (電池持ちの問題は 次期 iOS アップデートで修正予定 らしいです)

僕はこの素晴らしい iPhone 4S をドコモで使いたいので、ドコモの SIM に対応した iPhone 4S を買って使うつもりなのですが、残念ながら国内での取り扱いはありません。輸入するにも EXPANSYS で 32GB だと 9万円近く (2011/11/7の表示価格は 84331円 ですが、これに送料および消費税が載ります) とられます。

一方、アメリカの Apple Store Online では SIM Free の iPhone 4S の発売が予告 されており、同じく 32GB であれば $749 。(為替手数料を考慮して) 1USD=80JPY として 59920 円。州税などをのせても65000 円程度で買えることになり、ソフトバンクの新スーパーボーナス一括購入の 57600円とほぼ同じ値段でかえることになります。これでいきたいですね!!

しかしオンラインでの販売はまだ始まっていない上、注文時にはアメリカで受け取ることが可能な住所が必要です。Apple Store では転送業者やホテルの住所ではキャンセルされてしまうことが多いです。もし現地に知り合いがいたり、あるいは出張や観光で訪問する機会があればその場で買ってしまいたいものです。できるのでしょうか?

調べてみると、噂レベルの話として Apple Retail Store (オンラインではなく実店舗のアップルストア。日本では銀座や心斎橋などにあるやつ) でアンロック (SIM Free) 版が入手できるとの情報をつかみました。

“Off Contract” AT&T iPhone 4Ss Already Come Unlocked – Mac Rumors

そこで、アメリカの Apple Store に実際にいって iPhone 4S を購入してみることにしました。

  1. オンラインで事前に予約をする

    通りすがりの Apple Store で “iPhone 4S ください!” と言っても、在庫はたいていなくかえないと思います。代わりに「今晩予約して明日取りに来な!」と言われてしまうはずですので、そうします。

    オンライン予約のページは Apple の Retail Store 用 iPhone 4S 予約サイト にて行えます。 毎日夜 9 時 (店舗のある地域の現地時間) に開始し、先着順で予約をとることができます。

    あらかじめ用意しておくべき情報は

    • 予約する店舗 – アメリカには 300 店舗近くの Apple Store があるので、車でいけるような範囲の店を数店舗把握しておくと楽です (店舗ごとに在庫が違う)
    • Apple ID – 日本の ID でも問題ありません。1製品ごとに10台まで買えますが、一度の取引 (1店舗/日) では2台までなので、たくさん買いたい場合は ID をその分準備しておきます。
      (予約時にApple ID に登録した名前をパスポートや運転免許証などで店頭で確認されます)
    • 買いたい iPhone 4S のモデル – 買いたい色と容量を決めておきましょう
    • 引き取りにいく時間 – 基本的には予約した翌日の営業時間内ですが、店舗によっては時間帯を小刻みに指定する必要がありますので、翌日の予定を確認しておきましょう。

    なお、予約をするときに、キャリア (通信事業者) を選ぶ画面がでますが、 “AT&T” を選んでください。SIM Free ではない? 2年縛りが必要って書いてある? いいえ大丈夫です

    予約が無事にとれるとメールが来ますので、それを手元に用意しておきましょう。 (たくさん予約すると店の名前と購入予定のモデルがよくわからなくなりますw)

  2. 予約を引き取りに店頭にいく無事に予約がとれましたか? では Apple Store にいきましょう。英語があやふやでもなんとかなります。

    店に入ると、おそらく入り口付近に “iPhone 4S Pickup Tomorrow” などのようなことが書かれた看板が立っているはずですので、その辺にある列に並ぶか近くのスタッフに声をかけましょう。

    店員には “I have a reservation for iPhone 4S” とでも言えば通じるはずです。

  3. 店員とのコミュニケーションさて、ここからが大変なような気がしますが、どの店舗にいっても聞かれることは同じような内容なので、手順を覚えてしまえば大丈夫です。
    • what is your name? – まず名前をきかれます。場合によっては “please show me your driver license” などと、言われることもあります。どのみちパスポートを見せてしまいましょう。店員が持っている業務用の iPod touch か iPad を使ってあなたの名前を探し出します。
      (もし予約メールの冒頭で、名前が漢字で印刷されてしまった場合は、メールを見せて漢字とにらめっこしてもらいましょう)
    • 名前の確認が終わると、予約した商品を確認し (画面を見せられることが多い) 、バックヤードから在庫をとりにいくあいだ待つように指示されます。そのへんで待ちましょう。
    • device only, or contract with AT&T? – 来ました。ここで突如 “device only” という単語がでてきます。ここで “device only” と言えば SIM フリー版が買えるのです! ここで必ず “device only please” と返しましょう。
    • you want to apply AppleCare? – その後、AppleCare をつけるかきかれます。日本の AppleCare と異なり、アメリカでは AppleCare+ という $99 のもので、水没や全損時にも $49 で交換対応をしてくれます。店員は世界中どこでも大丈夫だと言ってましたが、約款ではUS国内のみのサービスと記載されており、実際に適用できるかよくわかりません。また、紛失時にはとくに保証されないことから今回はいらないと答えました。 “no thank you” か “yes please” のどちらかで答えましょう。
    • 店員の iPod touch をこちらに見せてきて、規約を読まされます。 Apple のソフトウェア利用規約に同意するか、また AT&T の規約に同意するかをきかれます。AT&T とはとくに契約をしないのですがここで同意しないとすすめないですし、 “Accept” と書かれた緑のボタンを2回 (Apple と AT&T) 押します。押し終わると、サインの画面が出てきますので、ローマ字でサインをしましょう。
    • 明細画面を見せてきます。本体価格に州税が加算されますので、例えば $749 の 32GB をカリフォルニア州で買うと州税 8.25% が加算され、 $810.79 とでてくるはずです。問題なければ “Okay, I’ll buy it” などと言っておきます。
    • pay with credit card or cash? – 支払い方法をきかれます。アメリカで800ドルとかふつう持ち歩けないですし、クレジットカードで払うと思います。”pay with this credit card” といいながら、クレジットカードを店員に渡します
    • 店員は業務用 iPod についているカードスキャナで読み取り後、(与信が通れば) サインの画面を渡してきます。クレジットカードの裏書きと同じサインをして店員に返します。
    • おめでとう!買えました。レシートをだしてくれますので、もし印刷とメールが欲しければ “Recipt please, with email and print” といって、店員にメールアドレスを伝えます (iPodを借りて自分で入力した方がはやい)
    • あとは店員が iPhone を手渡してくれます。やった! 最後に “take with bag?” などときいてくれます。 “yes please” と返せば Apple の袋がもらえるはずです。

予約さえできればどの店でも同じような手順で買えるはずです。

次回は手に入れたアンロック版 iPhone 4S の使い方を。

SleepEnabler for 10.6.6 add this entry to hatena bookmarkhatena bookmark counter

Mac App Store を使いたいために 10.6.6 にあげたらいい夢が見られなくなったのでつくりました。対応方法は MacFiets の記事 を参考にしました。ありがとうございます。

I’ve made SleepEnabler for 10.6.6. MacFiets’ article helps my work.
this kext no longer requires ‘pmVersion’ boot argument.

10.6.6 まではバージョン識別機能をつけていますので、com.apple.boot.plist をいじる (pmVersion=21とか) 必要はありません。

携帯サイトセキュリティTODOリスト add this entry to hatena bookmarkhatena bookmark counter

前回のエントリ “携帯サイト開発者のためのセキュリティ再入門” が割と広範囲にお読みいただけているようです。ありがとうございます。ただあの記事は単に列挙しただけなので「何をまずやればいいのか」具体的なものが見えてこない気がしますのでメモとして再構成してみました。前回書いたように「契約者IDによるかんたんログイン機能を撤廃しよう」がすぐにできるのであればいいですが、なかなかできないのが現実でしょうから、「緊急度の高い対策」から順に扱っていこうと思います。

契約者ID(UID)で認証しているサイトはすぐにやろう

  • キャリアのIP帯、User Agent、UIDのペアを確実に検証するようにする
    • 例えばドコモのIP帯 + ドコモのUser Agent + X-DCMGUID でのみ認証できるようにします。
    • もし [携帯電話のIP帯 (各キャリアのリストをマージしたもの) + ドコモの User Agent + X-DCMGUID] で認証するととても大変なことになります。
      例えばイー・モバイルのWAPゲートウェイはUser Agentや追加ヘッダを自由にセットできるので、携帯電話のIP帯であるかをファイアウォールやhtaccessだけで確認し、以後はUser Agentで分岐するような処理を書いている場合は、イー・モバイルのソースIPでファイアウォールを突破し、プログラム中でドコモのUser Agentを検出してドコモの処理に遷移、勝手につけられたX-DCM-GUIDでセッションを獲得されてしまいます。
  • Hostヘッダのついていないリクエストには答えないように。
    • あなたのサイト http://www.example.com/ に http://aaa.bbb.ccc.ddd/ などのIPアドレス直打ちでアクセスできるようならばすぐに止めましょう。
    • iモードブラウザ2.0のDNS Rebinding脆弱性への対策。ezweb以外の他ブラウザもJavaScriptに対応しているので、報じられていませんが同様の脆弱性を持つものと思われます。
  • キャリアからの通信であってもUIDが信用できないケースではUIDを使わない
    • iモード: SSL時 (SSL時はX-DCMGUIDは付与されない) – 代わりにutnを用いるようにします。
    • Yahoo!ケータイ・EMnet: SSL時 (secure.softbank.ne.jp経由の通信ではUIDは信用できますが、End to End通信をしている場合は偽装可能。見分ける方法は現時点で不明)

点検と改善

  • ドメイン内に信頼できないコードがないか
    • 最近の携帯電話はJavaScriptやCookieを実行できますので、同一ドメイン内に信頼できないコードがある場合はJavaScriptやcookieによるアクセスが可能です。
    • ドメインを他のサービスと共有している場合、あるいは共有SSL (共有SSLドメインを使用し、ディレクトリ単位で個別のユーザが利用しているケース) は特に危険です!
  • XSS脆弱性対策
    • 適切なエスケープ処理を講じましょう。
    • auや古いドコモの携帯は大丈夫? → FlashではActionScriptが動きます。外部からの引数をもって起動するFlashをもっている場合はこれも脆弱性の対象です。 (Flashからの通信でもUIDを送出します)
  • CSRF対策
    • コミット系アクションにはPOSTを使いましょう。 (GETでは動作しないようにする)
    • 重要度の高いコミット系アクションではセッションIDやUIDから類推できないトークンを受渡し、アクション時にトークンを検証しましょう。

UIDからの卒業

  • まずUIDをそのままセッションIDとして使うのをやめます。UID送出によるかんたんログインで都度生成されるセッションIDによりセッションががスタートするようにしましょう
  • 続いてログイン後にcookieを付与するようにします。cookieがついている場合はUIDを無視してセッションを復元するようにします。
  • ドコモの場合はUIDに加えてutnの送出をするようにします。前回のutnと異なる場合はメールバックによる認証など、他の認証をあわせて実施するようにしましょう。
  • cookieによるセッション管理が正しく動作するようになったら、EZweb / Yahoo!ケータイ / EMnet でのUIDかんたんログイン機能を廃止します。
  • あとは旧iモードブラウザが滅びるのを待つだけです。。。

さらに高度なセキュリティ、スマートフォン時代への対応

  • キャリアシステム (課金、ダウンロードコンテンツなど) に依存するアクションと、そうでないものを分離。
    • キャリアシステムであることを強く確認したいときには必要な確認処理を行う。メールによる確認のほか、FirstPassSecurity Passなども無料で使えます。
    • 確認処理はできるかぎり単一のフィルタで実装し、キャリアによる仕様変更やセキュリティ上のトピックに対して単一の変更で適用が可能なようにしましょう。
  • 逆に言うと、上記以外ではIPアドレスによる確認やUIDの確認は一切不要。
    • キャリア依存を解消していくことで、今後のスマートフォン時代でも容易にサイトを対応させられるようになりますしね!

UIDを認証目的で使うために可能な限り安全な対策をとりつつ、段階的にUIDをつかわない形へともっていくモデルケースですが、あくまで一例ですので実際のプロジェクトへの適用は個々の事情にあわせて慎重に行ってください。

携帯サイト開発者のためのセキュリティ再入門 add this entry to hatena bookmarkhatena bookmark counter

通勤電車で周囲を見渡せば大抵数台のスマートフォンを見つけられるようなご時世ですが、現実は日本の伝統的な携帯電話が多数派です。今もそんなガラケー向けWebサイトの開発案件は衰えることありません。

そんなガラケーサイトの開発者の間で話題になっている「セキュリティ対策」について、ガラケー界の現状をふまえた上でまとめてみます。

携帯電話のIPからのアクセスであることを前提としたセキュリティ対策はすでに無駄

危険な「かんたんログイン」

  • かんたんログインで使う契約者IDはあなたのサイトにも他のサイトにも同じものが送出されてます
  • 悪意をもった人が他人の契約者IDをヘッダに乗せてかんたんログインのアクションを呼び出したらどうなりますか

iモードブラウザ1.0以外はPCと同じくcookieを使えばいい

  • iモードブラウザ2.0すべてのEZwebブラウザ、ほぼすべてのYahoo!ケータイブラウザはCookieが使えます。EMnetももちろん使えます。
    • Yahoo!ケータイだとSSLで https://secure.softbank.ne.jp/ がcookie食べるのでは?
      → リンクを <a href=”javascript:window.location:’https://example.com/’”> で作れば大丈夫 。https://secure.softbank.ne.jpに飛ばされません。
    • 幸いなことにP型とC型の旧Jスカイ端末は2010年3月末に停波したので滅びてます
  • 旧iモードブラウザ以外は「かんたんログイン」をやめてPCのようにログイン操作をcookieにより省略できる「ログイン状態を記憶」機能をつけてあげましょう。

iモードブラウザ1.0 でのかんたんログイン機能の実装

  • (まだ割とシェアの多い)旧iモードブラウザでどうしてもかんたんログイン機能が必要な場合は”iモードサーバーのIPアドレス帯”+”iモードID”で認証する。ドコモのiモードゲートウェイは他社にくらべだいぶ堅牢っぽいです。
  • 携帯IPアドレス帯+iモードIDの認証は厳禁。例えばYahoo!ケータイのゲートウェイに自作のX-DCM-GUIDヘッダがあっても特別な対応はせずにそのままリクエストされます。
  • 「取り返しのつかない行為」、例えば日記の投稿、商品の購入やポイントの消費、退会などでは他の認証手段を検討すべきですが、どうしても簡略化しないといけない場合は(例えばミニブログの投稿サービスなど)投稿初回のみutnを用いた認証をし、その後はセッションを引き回す方法もあります。
    • 現時点でドコモのプロクシからのアクセスでUser Agentを書き換えられたというケースがないこと、またutnの送信は明示的な操作が必要なので攻撃者が比較的取得しにくいことを基にしていますが、それでも危険なことは言うまでもありません。

携帯電話もJavaScriptが使えちゃいます!

  • iモードブラウザ2.0だけでなく、ここ3〜4年ぐらいのソフトバンク端末 (NetFront 3.3以降か)もJavaScriptが使えます。
    • ちなみにiモードブラウザ2.0、ここ1〜2年ぐらいのソフトバンク端末(NetFront 3.4以降) はAjaxが使えたり
    • iモードブラウザ2.0、大多数のソフトバンク端末、WIN以降のau端末はiframeが使えます
  • 従ってPCと同等のXSS/CSRF対策は必須。
    • XSS対策: 正しいエスケープを行う
    • CSRF対策: コミット操作を伴うアクションに[使い捨て/セッションIDとは別の]トークンの検証を加える
  • 怠るとフォームを自動的に操作される、cookieが盗まれる、XMLHttpObjectが作成されてしまうなどのことが起きてしまいます

IP制限はやめるべき

  • 冒頭で述べた通り、携帯のWAPプロクシにパソコンから入ることは容易です。そんなことで盗用やいたずらを防げると思ったら大間違いです
  • IPブロックでよくある話: 検索エンジンにひっかからなくなる→Google BOTのIPアドレスだけ開ける→Google翻訳プロクシから入られてしまう→やっぱり意味ない
  • IPアドレス帯の制限がセキュリティの砦のような設計は即刻見直すべきです
    • iモードブラウザ1.0+iモードIDでの認証をやりたいならしょうがないですが。
    • どうしてもIP制限をしたければ、取り返しのつかないアクション(掲示板への投稿や記事削除、ポイント消費など)でセッション検証とあわせてIPアドレスの正当性を検査すれば、一定レベルのいたずらアクセスからサイトを守ることは可能。
    • セキュリティの担保としてキャリアネットワークであることを検証したいならば FirstPassSecurityPassなどの携帯電話のSIMカードをつかった公開鍵認証という方法があります。利用料は無料です。

まとめ

携帯サイトだからって安全が増すということはまったくないので、PCサイトと同じく正攻法のセキュリティ対策を行いましょう。

追記

携帯サイトセキュリティTODOリスト を書きました。 (5/3)

iモード.netのメールを疑似プッシュさせたくてimotenをim.kayac.comに対応させた add this entry to hatena bookmarkhatena bookmark counter

世間はiPadだのiPhone HDだので騒がしいですが、小生はXperiaをついうっかり購入してしまいました。

メインのiモードメールアドレスを運用していた回線をXperiaにしてしまったので、imoniでメールをfetchしていたのですが電池持ちがあまりよろしくないので、自宅のサーバーにimotenを入れて、30秒おきにiモード.netの新着を確認し、新着があればmopera Uに転送するという方法をとっていました。(Xperiaはmopera UのメールをPUSHで受け取れるので)

しかし、せっかくimotenを回しつづけるならばメール転送よりも効率よく新着を知りたいですし、変なサイトを見ながらdebrandしたら完全にX10iになっちゃってmopera Uのpushがうけられなくなった iPhoneにもあわせてpushされたほうが幸せですよね、と思ったので im.kayac.com にpushする仕組みを整えてみる改造をすることにしました。

メールが来ると1分以内にim.kayac.comを通じてXperiaのGoogle Talkアカウントにプッシュされるだけでなく、PCからログインしていればデスクトップにも通知されるので携帯を鞄の底にしまっていても安心。とても素晴らしいです。

IMGP1900

圏外でも圏内復帰時にチャットに蓄積されます

IMGP1901

imotenの作者様とim.kayac.comのカヤック様に感謝でございます。

Amazonアソシエイト一発ブックマークレット add this entry to hatena bookmarkhatena bookmark counter

まぁ誰かやってそうですが、いちおうつくっておきます。大して検証していません。

ポイント

  • ソースの yourAfIDの部分を置き換えたいアソシエイトIDに変えてください。そのままで使うと、ぼくがDBLoggerでお世話になっているお友達に結びつきます
  • amazonで商品ページを出しているときに当該ブックマークレットを使ってみてください
  • あまりに突貫工事なのでSafari 4以外では動作を確認していません。
  • link rel=canonicalによるURL正規化って便利だよね、っていう話でもあります。

ブックマークレット

Amazon Associate

ソース

var yourAfID="mashiro00-22", links = document.getElementsByTagName('link'), z;
for (var i=0;i<links.length;i++) {
  if (links[i].getAttribute('rel')=="canonical") {
    z=links[i];
    break;
  }
}
var asin= /dp\/([0-9A-Z]+)$/.exec(z.getAttribute("href"))[1];
if (asin) {
  window.location=[
    "http://www.amazon.co.jp/exec/obidos/ASIN/",
    asin,
    "/",yourAfID,"/"
  ].join("")
}

Home

Search
Feeds
Meta

Return to page top