4

さて、私はセッション変数を使用していません。むしろ私のコードは次のようになります。

if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Enter your Twitter username and password:"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Please enter your Twitter username and password to view your followers.';
    exit();
}

$username = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW']; 

だから、私の質問は、ユーザーが自分の(この場合は)Twitterログイン資格情報からサインアウトしたいときにこのログインセッションを破棄するにはどうすればよいですか?

4

2 に答える 2

7

http認証ログインサーバー側を破壊する方法はありません。これは、この形式のログインの最大の欠点の1つです。

于 2009-07-01T00:03:31.993 に答える
4

できることは、別の401ヘッダーを送信することだけです。ブラウザは通常、古い値を「忘れて」、別のユーザー/パス入力ダイアログをポップアップし、ユーザーが「中止」ボタンを押すと「ログアウト」します。2つの欠点:

  • 「ログインを中止してログアウトする」ダイアログは、ユーザーを少し驚かせる可能性があります
  • 「通常」とは、それに依存しない方がよいことを意味します。

編集:そしてすでに答えられています、PHP経由のHTTP認証ログアウト

于 2009-07-01T00:17:14.743 に答える