サーバーとAjaxでやりとりさせるために各ページで下記のような感じにToken
クラスを作りToken::get_harf_token()
でトークンを更新し半券を返すような処理を作成して、トークンを埋め込んでいました。
<?php session_start(); $token = new Token(); ?> <input type="hidden" value="<?php echo $token->get_harf_token(); ?>">
とあるページで動作のテストをしていたら、特にトークンを更新していないはずなのにトークンが一致しないというレスポンスが返ってくるという事件が発生してしまい、原因を特定するのに苦労しました。
結論から言えば、404ページとjsのmapファイルが無かったこと。
- 404ページでも他のページと同様に
Token::get_harf_token()
でトークンを作る処理を入れていました。 - Underscore.jsを使っていたのですが、Underscore.jsのmapファイルを置いていなかった為
underscore-min.map GET 404 text/html
となってしまっていました。
で、このUnderscore.jsのmapファイルが見つからないよ。のunderscore-min.map GET 404 text/html
の時に404ページが呼ばれていて、そこでトークンが書き換えられてしまっていたのが原因っぽい!
(underscore-min.mapを置いたらトークンが一致するようになった。)
ファイルが見つからなくて404になってる時も404ページが呼ばれているのですね...し、知らなかった..........
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)
- 作者: 山本陽平
- 出版社/メーカー: 技術評論社
- 発売日: 2010/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 143人 クリック: 4,320回
- この商品を含むブログ (179件) を見る