勝手にURLにセッションをつけない様にする。セッションIDの名称変更。
.htaccessの記載例)
php_value session.use_cookies 0 #Cookie利用しない
php_value session.use_only_cookies 0 #Cookie以外も利用
php_value session.use_trans_sid 0 #URLへの自動付与OFF
php_value session.name hogesession #セッションID名称を変更
Zend_Sessionでセッションをスタート
Zend_Session::setOptions(array(use_only_cookies=>'off'));
Zend_Session::start();
$session=new Zend_Session_Namespace('hoge');
Zend_Sessionでは、use_only_cookiesがデフォルトでONに設定されるようで、.htaccessでoffにしていても、ONになってしまうので、Zend_Session::startの引数で必ずオプションを設定しておいたほうがいい。
.htaccessで設定したほうが、プログラム内で設定するよりもいいと思うけど、Zend_Sessionが動作する際に、上書きしてしまうので、すべてZend_Sessionのパラメータで設定するのでもいいかも。
Zend_Sessionを利用する場合は以下は必ず必要なので忘れずに。
php_value session.auto_star 0 #セッション自動開始OFF
そのほか指定しそうなパラメータ
・有効期間
php_value session.gc_maxlifetime 1800 #有効期間を30分
・セッション情報保存先を指定(ファイルに出力する場合)
#/tmp/php/hogeディレクトリへ出力 書き込み権限は必要
php_value session.save_path=/tmp/php/hoge
Zend_Sessionを利用する際にしてはいけないこと。
・session_start関数は使用しない。
・Zend_Session::start()使用やZend_Session_Namaspaces()の生成などは、Zend_Session関連のそのほかの操作の前には必ず処理をさせておく
view部分で、セッション名称やセッションIDをを取得するには、以下の関数から取得する。
セッション名:session_name();
セッションID:session_id();
0 件のコメント:
コメントを投稿