好吧,我有一些來自另一家公司的遺留代碼,我必須維護/修復。此代碼的一個特點是,有多個網站與此主要網站相關聯,並且每當您從其他網站導航到此網站時,其他網站的徽標都會顯示在主要網站上(基本上這是一項服務爲多家銀行使用,並且每家銀行都希望擁有自己的品牌)。結束會話/清除Cookies
問題是,一旦你從site1導航到主站點,如果你從站點2導航到主站點,你仍然會得到site1的品牌。
有沒有辦法清除會話的cookies?到目前爲止,他們已經得到這樣的代碼,應該THEORETICALLY工作:
else
{
setcookie("cuid","",time() - 31536000); //DELETES COOKIE
if($cuid_demo!="samplecu" && $cuid!="samplecu")
setcookie("cuid",$cuid,time()+2592000); //2592000 = 1 month
$link=dbconnect();
if(!$link)
die("error: Could not connect to database - ".dberror());
select_db($link) or die("error: ".dberror());
if (isset($admin_id))
{
$cuid = $admin_id;
$id = $admin_id;
}
$query="UPDATE cusucceed SET visits=visits+1 WHERE id = '$cuid'";
$result=dbquery($link, $query)or die("Database Server Error 2: ".dberror());
include("index_main.php");
} //END IF/ELSE TO CHECK FOR PREVIOUS VISIT WITH THE PAST MONTH
}
在它什麼都沒做之前。正如評論所說,不應該setcookie("cuid", "", time() - 31536000);
刪除cookie。
剛一說明:由PHP吐出的錯誤消息不打算爲公衆而只對開發者,因爲它可能[泄露敏感信息(https://www.owasp.org/index。 PHP/Information_Leakage)。 – Gumbo 2012-02-13 15:32:35
我知道,我不會在自己的代碼中這樣做 - 我的公司只是被僱用來解決cookie問題。儘管僱傭我們的公司沒有預算來修復錯誤信息。 – 2012-02-13 15:35:58