2005-05-26 [長年日記]
_ 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以降はいろいろ扱いが面倒だなー。
_ ゴミを残さず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))」でいいのかという点については、要検討。
[ツッコミを入れる]
[TrackBack URL: http://tdiary.ishinao.net/tb.rb/20050526]


