×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
~お前もこの 気持ちよさにやられちまいな~
| |
PHPでDoCoMo携帯用ページのSESSIONについて - 実践編
さて本日は実践編です。 なんでDoCoMo他Cookie未対応機種は、めんどくさいことをしなきゃならないかは前回参照ってことで。 今回は.htaccessかphp.iniを編集できるかできないかによってプログラムが変わります。 変わる部分だけ色を変えますが、わかりにくいのは仕様です。 まず(携帯用のhttpdocs直下の).htaccessを編集できる人は以下を追加します。
php_flag session.use_cookies On // session管理にcookieを優先して使う
php_flag session.use_trans_sid 1 // session管理にURLに埋め込まれたsessionIDを使う php.iniを編集できる人は以下を追加します。 session.use_cookies On // session管理にcookieを優先して使う session.use_trans_sid 1 // session管理にURLに埋め込まれたsessionIDを使う 編集が終わったらサーバーを再起動してphpinfo()で設定が変更されているか確認してみてください。 編集できない人はこのまま次へ 次にセッションを使いたいphpのプログラム本体をいじります。 赤文字の部分は編集できない人のみ追加してください。 <?php
こんな感じです。・ ・ ・ // ドコモ端末の場合sessionIDを使う $agent = $_SERVER['HTTP_USER_AGENT']; if(ereg("^DoCoMo", $agent)){ ini_set('session.use_trans_sid', '1'); //セッションハイジャック対策にsessionIDを毎回変更する // 古いセッションを保存 $sess_tmp = $_SESSION; // セッション変数を破棄 session_destroy(); // セッションIDを再生成 session_start(); session_regenerate_id(); // セッションを元に戻す $_SESSION = $sess_tmp; } ・ ・ ・ $smarty->display("tpl_file_name.tpl"); ?> 編集できる人はCookieが使える機種なら、自動的にCookieでの管理に切り替わるためif文がいらないんですね~ php5だとセッションIDを毎回変えるのにあんな手間は要らないんですが、その辺は下記の参考URLを見てください。 セッションID使用端末の場合リンクURLには自動的にセッションIDが挿入されますが、redirecr関数を使う場合は $this->redirect('action?'.SID);
てな感じでセッションIDを付加してやってくださいね。参考サイト様にはIPを使ったセキュリティ方まで書いてありますが、ボクはめんどくさいのでそこまでやりません<おい! やりたい人はリンク参照ってことで。 参考サイト様 ke-tai.org > Blog Archive > PHPでケータイからセッションを使う場合の設定方法 http://ke-tai.org/blog/2007/12/12/php_session_new/ 一応これで動くと思うんですが動かない、セキュリティ的に問題あり、そもそも間違ってるなどの指摘があったら是非お願いします。 ボクも今日適当に調べただけなんで・・・ 無責任? フヒヒwwwサーセンwww PR コメントを投稿する
この記事のトラックバックURL: <<今日の音楽 - My Crew Deep @ STEPH POCKETS | ブログトップ | 今週の音楽 - TETRAD THE GANG OF FOUR>> | カレンダー
最新記事
(04/08)
(04/01)
(12/29)
(06/23)
(06/23) ブログ内検索
プロフィール
中の人:
⑨
お仕事:
見習いプログラマー
趣味:
ネット、アニメ、音楽、チャリ
一言:
エロゲからクラブミュージックまで。
おじさんの趣味は108式まであるゆぉ~(・3・) |