• 締切済み

[セッション] リンクの SID を消したい

ブラウザで以下のようなソースを実行すると、 リンクに PHPSESSID=xxxx... が附加されます。 この状態から「更新」ボタンを押すと、SID が消えて、そのあと附加されることはありません。 Cookie へ保存されたのだと思うのですが、 これを1度目に表示した時に消すことはできないのでしょうか? やりたいのは、SID をリンクに表示させたくないのです。 ただし、リンクは「?a=0」のように、GET による受け渡しが必要です。 よろしくお願いします。 ***ソース*** <?php session_start(); ?> <html> <body> <a href="?a=0">test</a> </body> </html>

みんなの回答

noname#202916
noname#202916
回答No.2

回答から先にすると、できないような気がします。 Web サイトの訪問者にはセッションIDというセッションIDと呼ばれるユニークなIDが割りつけられ ます。このIDは、ユーザー側にクッキーとして保存するか、または、URL に埋め込みます。 (ここの説明ではどちらか。。といっています) GETパラメタに表示させないようにしたいのであれば 最初のGETで、form内のhiddenフィールドに保存して おく。。といったスクリプトにすればなんとかなるので はないでしょうか?。。

参考URL:
http://php.s3.to/man/ref.session.html
clavia
質問者

お礼

回答ありがとうございました。 やはり無理なのでしょうか、、、 クッキー有効を前提と考えて、クッキーが無効になっている場合の対策を考えたいと思います。 この質問も古くなってきましたので、閉じたいと思います。 ありがとうございました。

noname#202916
noname#202916
回答No.1

php.ini内にある、session.use_trans_sidをfalseに してみるといいのではないでしょうか?

clavia
質問者

補足

回答ありがとうございます。 false にすると確かに SID は消えますが、クッキーが無効の場合にセッションが有効にならないため、今度はそちらに問題が出ます。 true にしていると、クッキーが無効でもセッションは有効になりますが、最初に表示した時のみリンクに SID が見えてしまいます。 クリックして他のページに移動すると、それ以降は SID が見えなくなります。 「クッキー無効でもセッション有効、SID は見えない」 この状態を最初から実現したいのですが、、、無理なのでしょうか

関連するQ&A