看板 PHP 關於我們 聯絡資訊
我覺得這個看起來不太安全 = =" 並考慮到register_globals = off的情況,我會這樣改寫: ※ 引述《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)