« 12月 2012 2月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Profile

Mobile

  • 携帯サイトでのセッションの利用
  • 2010.01.26
  • ブラウザがセッション管理を行う方法には大きく2種類。


    ●Cookieに保存する
    ●URLに付与する


    携帯の場合は、ドコモがCookieに対応していないため、URLに付与する形で保持しなければいけません。 
    但し、URLにセッションIDを付けている状態の場合、いわゆるセッションハイジャックといわれるセキュリティ攻撃に脆弱になるため、これに対する予防処置が必要になってきます。


    session.use_trans_sidをonにすると自動でPHPSESSIDが付与されるようですが、ドコモだけonで、他はoffのようにするとauやソフトバンクでクッキーに対応してない機種があった場合対応出来なくなるので、以下のような処理にしてみた。



    if (!isset($_COOKIE[session_name()])) {
    // COOKIEが無効だったら
    $SESSION = “?” . SID;
    $AND_SESSION = “&” . SID;
    } else {
    // COOKIEが有効だったら
    $SESSION = “”;
    $AND_SESSION = “”;
    }


    それでリンクの末尾に$SESSIONや$AND_SESSIONを手動で付けました。

【この記事のタグ】

One Response to “携帯サイトでのセッションの利用”

  1. thrive on より:

    携帯ではauとソフトバンクではCookieに対応しているが、httpとhttpsを行き来する場合、セッションが渡されないことが判明しました。
    ですので、session_start()の前に以下の一文を入れ、強制的にCookieを使用せず、セッションIDをURLに付加する形でリンクしたら、httpとhttpsの行き来の際でもセッションが渡されるようになりました。
    ini_set(’session.use_cookies’, 0);

Leave a Reply

Page Top