古いau端末でのSSL+Cookie(半分グチ)
最近の仕事。
代理店の仕切りがks過ぎて、ウチでは手を動かすので精一杯。
まとめた仕様も塵と化す程、理不尽な内容で理不尽なタイミングに覆される。
その為、仕様が何らかの形にまとまっておらず、
その全容も、誰もまともに把握していない事態に。
トーゼン、どこからが不具合でどこからが仕様なのかも理解していないまま、
gdgdに問答と押し付け合いだけが行われる。
機会損失とは言うが、あの会社と付き合うことにより得られる機会よりも、切って他の案件探す方が効率がいいと断言できる。
僕は直接案件に関わっていないから、ksさ加減はまた聞きにしかしていないけど。
でだ。
フツー、何かWebサイトとかを作る時は、対応端末だとか、対応ブラウザだとかを決めておくのだけれども。
案の定、この案件では決められていない。
なので、勝手に古い端末で見て「できねーよ」という理不尽な苦情が来る。
ウチも悪いが向こうも悪いというモノに対して、一方的に非があるように投げられている点では、
遺憾を通り越して頭が悪いと思わざるをえないのだが、それとこれとは別。
とりあえず解決はしなければならん。
で、助け舟を求められた。
丁度暇だったからいいんだけどさ。
では問題。
「auの特定の機種でセッションの値が保持されてないよ?」
ヒント:検証環境では問題ないが、本番環境ではダメ
そりゃアンタ、とりあえずココ調べましょうよ。
1.環境間でのスクリプトの差分の有無
2.環境間でのDBの差分の有無
3.他、環境間での差異
残念ながら、1と2に差分は無かった。
そしたら3、細かく面倒くさい。
と思ってたら、更なるヒント露出。
ヒント2:なぜかauだけスクリプトが分かれている
ヒント3:sslがある
はい。
一つ一つは地味でも、三つ入ると中々イタい3ヒットコンボの完成です。
J強P->近立強P->昇竜拳のようなもんです。
怪しいにも程があります。
こりゃ、ゲージMAXまで溜まってますね。
これまでのキーワードで適当にググると、まずここが出て来る。
http://d.hatena.ne.jp/maru_cc/20080512/au_ssl_cookie
謝謝。
こちらにも記載されている通り、auのsslのcookieはちょっとアレなんですね。
では答え合わせをしましょう。
間違い:
・auのCookieに絶大な信用を持ってしまった
・au用のスクリプトではご丁寧にheaderのLocation書き換え処理でセッションidを切っていた
正解:
・auもGETでセッションidを渡せば良いと思います。
・header書き換えの際も、ちゃんとセッションidを渡せばいいと思います。
うーん、スクリプトは他案件の使いまわしっぽいけど、そもそもの設計思想が気に入らん。