sessionの使い方 part1

とりあえずこれが今思いつく最良の使い方…なのだが。
どうなんだろう。アタック検証するのめんどくさい^^;

$url_len = strrpos($_SERVER['REQUEST_URI'],"/") + 1;
$url = substr($_SERVER['REQUEST_URI'],0,$url_len);
session_set_cookie_params('0', $url);
session_start();
$sname = session_name();

$entry = array();
if (!isset($_SESSION['pageID'])|| !isset($_POST["onetime"])|| $_SESSION['onetime'] !== $_POST["onetime"]){
	//セッション初期化
	$_SESSION = array();
    session_regenerate_id();
	$sname = session_name();
	setcookie($sname, session_id());
	
    $_SESSION['pageID'] = 1;
	$entry["onetime"] = $_SESSION['onetime'] = md5(rand()."id");

}

名前がonetimeってなってるけど全くワンタイムチケットじゃないよ!
$_SERVERのあたりがやっぱあぶないかな〜…直接書いた方がいいかな。
そもそもこれ効果あるのかわからなくなっている自分がいる。
あれだけ考えて作ったのにな…