※ 引述《eecir (小君你最可愛了)》之銘言:
: 感謝各位的幫忙
: 看了大家的回文與網路上的文章後
: 我終於想到了關閉cookie後要如何使用session
: 我主要是因為想要在同一台電腦上面做到multi user的功能
: 但又要考慮cookie關閉,讓我煩惱了好久
: 以下是我想出來的方式,或許還需要改進,若有不正確的地方
: 還要麻煩大家幫我看看 謝謝各位
test1.php
<?php
session_destroy();
?>
<form id="form1" name="form1" method="post" action="test2.php">
<input type="text" name="a1" />帳號
<input type="text" name="a2" />暱稱
<input type="submit" name="Submit" value="輸入" />
</form>
我的想法:Session ID讓test2.php產生就好
test2.php
<?php //文件名為test2.php
$sid = md5(uniqid(mt_rand(),true));
session_id("$sid");
session_start();
// 請愛用$_SESSION存取Session :)
$_SESSION['id'] = $a1;
$_SESSION['name'] = $a2;
echo $_SESSION['id']."帳號<br>";
echo $_SESSION['name']."暱稱<br>";
echo "<a href=test3.php?sid=$sid>goto test3.php</a>";
?>
<form id="form1" name="form1" method="post" action="test3.php">
<input type="text" name="a3" />測試3
<input type="submit" name="Submit" value="輸入" />
<input name="sid" type="hidden" value="<?=$sid;?>" />
</form>
我的想法:用time作為Session會比較容易遭受攻擊,換個方法
test3.php
<?php //文件名為test3.php
// 考慮到register_globals = off
if($_POST['sid']) $sid = $_POST['sid'];
else $sid = $_GET['sid'];
session_id("$sid");
session_start();
$_SESSION['test3']=$_POST['a3'];
echo $_SESSION['id']."帳號<br>";
echo $_SESSION['name'],"暱稱<br>";
echo $_SESSION['test3']."test3<br>";
echo "<a href=test1.php>goto test1.php & session 消失</a>";
?>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.71.171
※ 編輯: ybite 來自: 218.170.71.171 (07/19 14:57)
※ 編輯: ybite 來自: 218.170.71.171 (07/19 15:02)
我覺得這個看起來不太安全 = ="
並考慮到register_globals = off的情況,我會這樣改寫: