PHPプログラムに関する各種メモ書き

cookieを使わずにセッション管理する(ログイン認証が必要な携帯サイト用)

セッションは通常cookieを通してやりとりしますが、cookieを使えないブラウザ

(携帯端末 Docomo Softbank )等でセッション機能を実現させたい場合はセッションIDを

URIに埋め込んで使用することになります。

■ セッションをURLに埋め込んで使用するには以下の記述を行います。

/etc/php.iniに設定する場合(書き換えたら apache をリスタート)
session.use_trans_sid = 1
.htaccessに設定する場合
php_flag session.use_trans_sid On
phpコードに記述する場合
ini_set('session.use_trans_sid', '1');

ただし

注意: 相対URLでないURLは外部サイトを指していると仮定され、SIDが追加 されません。これは、SIDを外部のサーバに開示することはセキュリティ 上のリスクとなる可能性があるためです。

なので注意


■ セッションに関するパラメータを変更するには phpコード内に以下の記述を行います。

が、通常書き換えなくてもOKです。

//一文字あたりのビット数(4,5,6)数値が大きいほどセッションIDを短くすることが出来る
ini_set('session.hash_bits_per_character', 6);
//セッションパラメーター名 デフォルト値:PHPSESSID
ini_set('session.name', '_SESSID');
//ハッシュ関数 0:MD5(128bits) 1:SHA(160bit) デフォルト値:0
ini_set('session.hash_function', 1);

参考:

http://labs.scyphus.co.jp/memos/php/session

http://www.yc.musashi-tech.ac.jp/~yamada/doc/php/0802.html

http://ke-tai.org/blog/2007/12/12/php_session_new/


関連エントリー

No.481
07/14 14:08

edit

携帯スマホサイト
Cookie
セッション
.htaccess