Calendar

<< 9月  
 1
2345678
9101112131415
16171819202122
23242526272829
30  

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を手動で付けました。

【この記事のタグ】

“携帯サイトでのセッションの利用” への1件のコメント

  1. thrive on より:

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

▲ PAGE TOP