$ _SERVER Oturumu yok?

2 Cevap php

Tamam ben herhangi bir oturum değişkenleri kullanarak değilim, doğrusu benim kod şöyle görünür:

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'];

Yani, benim soru kullanıcı (bu durumda) twitter oturum açma kimlik bilgileri üzerinden imzalamak istediğinde bunu nasıl giriş oturumu yok edebilir, değil mi?

2 Cevap

All you can do is to send another 401 header. The browser will usually "forget" the old value, pop up another user/pass input dialog and if users then press the "abort" button they are "logged out". Two drawbacks:

  • "Çıkış için oturum iptal" iletişim kullanıcılara biraz şaşırtabilir
  • "Genellikle" anlamına gelir: daha ona bağlı.

edit: Ve zaten cevap olmuştur, http://stackoverflow.com/questions/449788/http-authentication-logout-via-php

Http kimlik doğrulama giriş sunucu tarafı yok etmek için hiçbir yolu yoktur. Bu oturum bu formun en büyük dezavantajlarından biridir.