アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPにてSESSIONを利用する際に、
最初にSESSIONを開始するときのみ
URLに"index.php?PHPSESSID=XXXXXXXXXXXXXXXXXXXXXXXX"
という風にPHPSESSIDが表示されてしまうのですが、
これは仕様なのでしょうか?

同サイト内の他のページに移動すると、SESSIONは継続されますが、URLにPHPSESSIDが表示されることはなくなります。

自分の環境でもそうなんですが、
他者のサイトでも同じように最初だけ表示されます。
例ですがサイバーエージェントの会社サイト
http://www.cyberagent.co.jp/index.html
こちらでも最初に一度だけ表示されます。

リファラーや検索エンジンに乗ってしまうとセキュリティ上問題になると思うので表示させないようにできたらと思うのですが、どこかに設定箇所はあったでしょうか?
session_trans_cid以外に。

A 回答 (2件)

GETでのセッションIDの受け渡しを避けるには、session.use_only_cookies = 1にして使うと良いと思います。

但し、COOKIEを使えないクライアントやロボットなどの場合はセッションが利きませんので注意して下さい。

PHPのセッションを使うとそんなこんなで色々な制約が出てきちゃうので、僕は最近は使わなくなりました。オリジナルの暗号ルーチンでアクセスの同一性だけを次のページに受け渡しをしています。セッション変数が使えませんが、色々な方法で何とか回避してます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
COOKIEが必須となると、拒否している人を弾いてしまうので、はずすのは難しいです。

ご自分でセッションと同じような機能をつけてるというわけですね。すごいですね。
残念ながら私にはまだそこまでの技術力がないです。
でも、おっしゃるとおりすでにオープンになっているセッション機能よりも独自のシステムのほうがセキュリティ的には強いのは確かですよね。

http://search.fresheye.com/?kw=%B5%E1%BF%CD&dom= …
わざとなのかわかりませんが、このようにPHPSESSIDを含んだURLが検索結果に出ることが恐ろしくて・・・

お礼日時:2005/06/30 01:28

>COOKIEが必須となると、拒否している人を弾いてしまうので、はずすのは難しいです。



そうなんですよね。でもロボットはcookieなんて使いませんので、これを外さない限りはロボット巡回の際セッションIDが付加されてしまいます。

オリジナルのはセッション機能という程ではありません。アクセスの同一性を受け渡しているだけです。セッション変数など使えませんから、次のページに渡さなければならないパラメータは全部GETなどで渡さないといけないので設計が大変ですよ。でもメリットデメリットを考えて、PHPセッションを使うよりはこちらの方が良い、という判断です。
    • good
    • 0
この回答へのお礼

そうですよね。ロボットにもPHPSESSIDが発行されてしまうんですね。とはいえ、ほとんどのサイトでセッション管理してると思いますが、検索結果にPHPSESSID=xxxxxっていうURLがでることはあまりないですよね。
なんだか不思議です。

session_trans_cidを使う以上、
表示上、
一番最初のセッション開始時にURLにPHPSESSIDがついてしまうのはしょうがないんですかね。
2ページ目からはシステム的にはついているけど、URL上に表示させないようになってるということですね。
リファラーにもPHPSESSIDは省かれたものがいってるんですよね。

かわりの機能ができればと思うのですが、いろいり試行錯誤してみます。

ご回答ありがとうございました。

お礼日時:2005/06/30 14:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!