2016-07-23 6 views
0

自分のプロジェクトの1つにログインシステムがあり、私自身のログインシステムとFacebookのログインを使用しています。問題は、FacebookのログインがMacデバイスでログアウトしていないようです。MacデバイスのCookieを有効に設定する方法

私のコード

session_start(); 

if(isset($_COOKIE['checkuserst'])) { 
unset($_COOKIE['checkuserst']); 
setcookie('checkuserst', '', time() - 3600, '/'); 
} 

unset($_SESSION['username']); 

header("Location:index.html"); 

すべてのウィンドウには、クッキーは、サファリを除くと、クッキーの有効期限が切れると、ブラウザのMACなしに失効されているブラウザ。

誰かがこれを修正する正しい方法を教えてもらえますか?

+0

サーバー側のセキュリティに影響を与えません。あなたが代わりに何が起こっているかを確認し、と期待を正確に何を述べることができますか? – BeetleJuice

+0

@BeetleJuiceすべてのWindowsブラウザのCookieは、サファリを除いて期限切れです。また、Macでは、ブラウザのCookieのいずれも期限切れです。 – Jordyn

答えて

1

ユーザーがログアウトしているかどうかを判断するには、ブラウザでCookieの有効期限を使用しないでください(ユーザーが不正なCookieを作成しやすいため)。セッションの有効期限を$_SESSIONまたはデータベースに格納します。クッキーが存在していてもリクエストを受け取った場合は、最初にサーバー・ストレージ内の一致するクッキーをチェックし、期限切れでないことを確認してください。

ブラウザで起こるものは何でもこの方法は、(例えば、ブラウザは期限切れのクッキーを削除しない)

+0

@あなたの説明に感謝しますが、私の直面する問題は、クッキーがMacデバイスで期限切れになっていないことです。 。 – Jordyn

+0

@ Jordynなぜあなたにとって重要なのか理解できます。それはなぜ問題なのですか?サイトにどのような影響がありますか?クッキーが期限切れになっていないため、 – BeetleJuice

+0

Macユーザはログアウトできません。これが問題です。 – Jordyn

関連する問題