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

こんばんは。お世話になっております。
以前、セッションハイジャックを防ぐ方法として、

session_regenerate_id();

を用いて、ファイル(?)を次々と変えていけば良いと、いくつかのサイトで読んだ事があり、現在開発中のスクリプトにも盛り込んでいるのですが、これだと(windowsでいうtmpフォルダ内の)ファイルが膨大な量になってしまう事に気が付きました。

こういった状況はセッションハイジャックを防ぐ方法として仕方のない事なのでしょうか?それともファイルを削除するスクリプトもあるのでしょうか?
ネットで検索をして調べてはいるものの、調べ方が悪いのか、セッションハイジャックの対処法は紹介されているものの(とは言っても、上記だけしか把握してませんが…)、その後の対処に関しての紹介が見つからなかったもので・・・

お忙しい中恐縮ですが、アドバイスなどいただけたら幸いに思います。

A 回答 (1件)

参考URLをご参照ください。


以下のようなコードを用いることで、古いセッションを破棄し、セッションに結び付けられたテンポラリファイルを削除した上で、新たなセッションを開始できるようです。
#セッション変数の内容を保持する必要がない場合は、$tmp = $_SESSION;$_SESSION = $tmp;は不要です。

--------
session_start();
$tmp = $_SESSION;
session_destroy();
session_id(md5(uniqid(rand(), true)));
session_start();
$_SESSION = $tmp;
--------

参考URL:http://tdiary.ishinao.net/20060825.html#p02

この回答への補足

erupi1973様

こんばんは。教えていただいたサイトですが、非常に分かりやすく、無事解決する事が出来ました。
これまで、session_regenerate_id();を通過するごとにファイルが蓄積してしまっていたので、コードを変えたことで、ファイル名が変わっていく様に、「これだよ!」なんて思いながら動作確認をさせて頂きました(笑)。

貴重なアドバイスを有難う御座いました。

補足日時:2006/09/19 21:34
    • good
    • 0
この回答へのお礼

erupi1973様

はじめまして、こんばんは。
ご親切なご回答を有難う御座います。
これからお教えいただいたサイト、ならびにコードを試してみたいと思います。

取り急ぎ、お礼としてご挨拶させて頂きますが、改めてご報告させて頂きます。有難う御座いました!

お礼日時:2006/09/18 18:12

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