看板 Web_Design 關於我們 聯絡資訊
※ 引述《TCH (最無價值單身漢)》之銘言: : Session變數,若是在同一個目錄下傳遞不成問題。 : 但是如果是:http://10.111.111.001/a.asphttp://10.111.111.002/b.asp : b.asp根本無法接到Session。 : 我的目的是要在a.asp做login的動作,成功才會導入b.asp : 不希望也不允許讓b.asp直接開啟,也就是不能跳過a.asp而直接開啟b.asp : 所以既然Session不能直接用,我想到其他方法 : 1.傳URL變數(可行,但是網址暴露了安全) : 2.設虛擬目錄(我是初學者,不太會設,尤其是權限的部份不太清楚) : 3.傳asp的變數(可以嗎?如果是表單變數好像派不上用場) : 4.Session真的不能嗎?(我還在掙扎..) : : : : : 懇請有經驗者幫我解答,謝謝! 001/a.php ...... [tailer] $f=str_replace('=','.', base64_encode((tempname('/root/session','sess_').date("U")))); $F=fopen('/root/session/'.$f,"w"); fputs($F,'d'.session_id().'s'); fclose($F); header('Location:......002/b.php?s='.$f); =============================== 001/s.php <?php if(!isset($_GET['s']) || !preg_match("/^[a-zA-Z0-9\.]+$/",$_GET['s']) || !file_exists('/root/session/'.$_GET['s']))die(''); $f=fopen('/root/session/'.$_GET['s'],"r"); $s=fgets($f); fclose($f); echo $s; ?> =============================== 002/b.php [header] $checkedsession=false; if(($f=fopen('http://...001/s.php?s='.$_GET['s']))==false)die('you die'); $F=fgets($f); fclose($f); if(!preg_match("/^d[a-z0-9]{32}s$/",$F))die('exit'); ........ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.158.15
TCH:謝謝! 不知用ASP是否可行呢?(抱歉我是初學者,沒用過php) 02/14 23:21
dinos:放棄旁門左道吧...<(‵^′)> 02/15 10:05