我看了很多文章,發現會議不能沒有cookie的工作,但試過,找到一種方式,請提供反饋意見呢?PHP會話可以在沒有Cookie的情況下工作嗎?
步驟1)首先禁用並清除瀏覽器的cookie數據,我使用chrome。
第2步)創建一個頁面one.php具有以下代碼。 我首先檢測到用戶代理ipaddress和我的密鑰將其轉換爲第二頁上的MD5,以便進行唯一用戶檢測。
$uagent = base64_encode($_SERVER["HTTP_USER_AGENT"]);
echo $ip = md5($_SERVER["REMOTE_ADDR"]."MYSECRETKEY".$uagent);
echo "<br>";
echo session_id($ip);
session_start();
$_SESSION['data'] = array("name"=>"bbbbbbbb","designation"=>"software_engineer");
print_r($_SESSION);
步驟3)創建另一個頁面two.php
$uagent = base64_encode($_SERVER['HTTP_USER_AGENT']);
echo $ip = md5($_SERVER['REMOTE_ADDR']."MYSECRETKEY".$uagent);
echo "<br>";
echo session_id($ip);
session_start();
print_r($_SESSION);
我發現two.php數據page.so我們可以設置會話,並獲取數據,而不餅乾。 任何反饋我錯了,或者這真的是一個解決方案?
IP的可以僞造。如果他們有動態IP,調制解調器重置可能會失去他們的會話。多個用戶可能位於同一個IP上,例如在辦公樓或大學校園。 – Squeegy
不幸的是,這並未考慮來自同一IP地址的多個用戶,例如那些使用同一家庭路由器的用戶,或者同一臺機器上的不同用戶等。如果將會話ID追加到(例如'two.php?sessionid = sdfgsdfgasdfsdgsdfgsdfgsdfg') –
,但它可以像數字簽名一樣工作,使用MD5或任何加密算法都是安全的。我知道這不適用於像辦公室那樣使用相同IP地址的網絡,否則MD5無法讀取或我們在字符串中追加任何內容。 – bhuvnesh