- ベストアンサー
Cookie非使用のセッションについて
- 携帯サイトのセッション管理について質問です。
- レンタルサーバのphp.iniの設定でセッションの挙動を変更しようとしていますがうまくいきません。
- 手動でIDを埋め込む方法について教えていただけないでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
a.php内 echo "<a href=\"b.php\">セッションテスト</a>"; のリンクでマウスカーソルを合わせた時に、リンク先b.phpの後ろにセッションIDが追加されていますか? 手動で直接セッションIDを埋め込む場合は echo "<a href='b.php?".SID."'>セッションテスト</a>"; または echo "<a href='b.php?".session_name()."=".session_id()."'>セッションテスト</a>"; とすれば、埋め込まれます。
その他の回答 (3)
>セキュリティ的に完全に無防備の状態になって、~ オススメ出来ない方法 URLにセッションID埋め込もうが、クッキーでセッションIDを扱おうが、セッションIDはネット上を平文で流れるので、セキュリティ上は変わらない。 >ユーザーエージェントから携帯電話の固体識別番号 固体識別情報は携帯から発信するよう設定しなければ送信されない。 質問者さまのページを見るためだけに発信させるのはどうかと・・・ 個人情報だし。 セキュリティが気になるならSSLで通信すればいいだけ。 URLにセッション埋めようがクッキーに埋めようが暗号化されるので、 盗聴できない。
- inu2
- ベストアンサー率33% (1229/3720)
セキュリティ的に完全に無防備の状態になって、なすましを許可するのであれば、URL内にSESSION_IDを埋め込む方法ありかもしれませんが、この方法で会員ログインなどのセキュリティ的に考慮しなくてはならない場合は、簡単にハッキングできます(セッションジャック)ので、URL内にセッションIDを埋め込むのは オススメ出来ない方法です。 セキュリティ的に考慮する必要のある場合は、ユーザーエージェントから携帯電話の固体識別番号などの情報を取得して、端末そのものを限定できるように実装する方法を取ったほうが良いです。 (*万全策ではありませんが、URLにセッションIDを埋め込むよりも何倍もマシです)
試してないですが、 html内にhiddenとして適当な名前でセッションIDを常に保持しておき この名前を使用して、 session_name をコールしてから session_start ではどうでしょうか?
補足
セッション出来ない問題に関しては、まだリンクにIDが付加されてない状況なので、chihiroさんの方法で試してみようと思います。 それとセキュリティに関してなのですが、 ある文字列を暗号化するような関数はphpに用意されていないでしょうか? それが出来れば、 ******************a.php********************** $_SESSION["ID"] = 暗号化関数(ユーザーPASS); ********************************************* ↓ ******************b.php********************** $user_pass = 解読化関数($_SESSION["ID"]); ********************************************* のような感じで安全に受け渡せると思うのですが・・