blog.ishinao.net

265月/05

ゴミを残さずsession_regenerate_idする (16:34)

単にsession_regenerate_idしただけでは、古いセッションIDにリンクしたセッションデータが消えないので、

session_start();
$tmp = $_SESSION;
session_destroy();
session_start();
session_regenerate_id();
$_SESSION = $tmp;

なんて感じで回避していたんだけど、これだと古いセッションIDにリンクした空のセッションデータが残るんでうざいなー(セキュリティ的には問題ないけど)と思っていた。けど、次のようにやればゴミを残さずにセッションIDの付け替えができそうだな。

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

新しいセッションIDの生成ロジックは「md5(uniqid(rand(), 1))」でいいのかという点については、要検討。

このエントリーを含むはてなブックマークはてなブックマーク - ゴミを残さずsession_regenerate_idする (16:34) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
265月/05

Windows環境でバイナリ配布の4.1.11を (13:48)

default-character-set UTF-8で使おうとしたんだけど、my.iniを書き換えても反映されない。もしかしてmy.iniって見てないの? しょうがないんで必ずプログラムの頭で

set names utf8

とかするようにしてごまかしていたんだけど、ふと思い立ってMySQLサービスの起動オプションに--default-character-set=utf8をつけたら、ちゃんと効いた。そういやそっちで指定する手もあったんだっけ。

それにしても、MySQL 4.1以降はいろいろ扱いが面倒だなー。

このエントリーを含むはてなブックマークはてなブックマーク - Windows環境でバイナリ配布の4.1.11を (13:48) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments