2012-02-13 8 views
0

これで、メンテナンスや修理が必要な別の会社のコードが残っています。このコードの特徴の1つは、この1つのメインサイトにいくつかのサイトが関連付けられており、他のサイトからこのサイトに移動するたびに、他のサイトのロゴがメインサイトに表示されます(基本的にこれはサービス複数の銀行が使用するために、各銀行は独自のブランドを望んでいる)。セッションを終了する/クッキーをクリアする

問題は、サイト1からメインサイトに移動した後、サイト2からメインサイトに移動すると、site1のブランディングが引き続き発生することです。

セッションのCookieを消去する方法はありますか?それは何もしない前に

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);は、クッキーを削除しないでください?

+1

ちょっとした注意:PHPによって吐き出されるエラーメッセージは、公開されるのではなく、[機密情報を明らかにする](https://www.owasp.org/index。 php/Information_Leakage)。 – Gumbo

+0

私は自分のコードでそれをしません - 私の会社は単にクッキーの問題を解決するために雇われただけです。私たちを雇った会社にはエラーメッセージを修正するための予算はありません。 –

答えて

3

クッキーをリセットするときに正しいドメインを設定する必要があります。

setcookie('name', NULL, -86400, 'cookie_path', 'subdomain.site1.com'); 
+0

この情報はどのようにして見つけられますか?クッキーは私がまだ学んでいることの1つです(これは間違いなく良い経験です) –

+1

例えばドメイン名andrew.comで作業する場合は、次のようにクッキーを設定する必要があります:** setcookie( 'name'、 NULL、-86400、 '/'、andrew.com '); ** – nateless

+0

はい、「cookie_path」はどうですか?そして、私が扱っているファイルはメインサイトにあるので、www.mainite.comをやってもいいですか?それとも参照元から来る必要がありますか? –

関連する問題