Heim  >  Artikel  >  Backend-Entwicklung  >  Die Website wird von SESSION verwaltet. Ich habe alle Cookies auf dem Client-Computer manuell gelöscht. Warum bin ich immer noch angemeldet, wenn ich sie erneut besuche?

Die Website wird von SESSION verwaltet. Ich habe alle Cookies auf dem Client-Computer manuell gelöscht. Warum bin ich immer noch angemeldet, wenn ich sie erneut besuche?

WBOY
WBOYOriginal
2016-09-21 14:13:011160Durchsuche

Ich bin erst seit weniger als 3 Monaten mit PHP vertraut und bin ein Neuling ... Die Website, die ich zum Testen geschrieben habe, verwendet SESSION, um die Antwort aufrechtzuerhalten. Ohne den Browser zu schließen, habe ich alle Cookies auf dem Client manuell gelöscht. Datei, dann die Website aktualisiert und festgestellt, dass das Konto noch angemeldet ist ... Was ist los?

Laut einigen der Websites, die ich normalerweise verwende, werde ich mich abmelden, solange ich die Cookies lösche...

Das Folgende ist mein Problemcode, bitte geben Sie mir einen Rat.

Seite A, die Anmeldecodes verwaltet

<code>//登录成功,保持登录状态
function login_true($username){
    session_start();
    $_SESSION['userinfo']=array('uid'=>476283675,'username'=>$username);
}
</code>
Seite B zeigt die Anmeldeoberfläche

<code>/*如果$_SESSION['userinfo']或$_SESSION['userinfo']['uid']为空
 *则说明未登录,引导用户登录
 */

session_start();
if (empty($_SESSION['userinfo'])or empty($_SESSION['userinfo']['uid'])){
    echo "<a href='919.html'>点我登录</a>";
    die('请先登录');
}

echo '晚上好';</code>
Nachdem ich die Cookie-Datei gelöscht habe, bleibe ich immer noch angemeldet. Was ist das Problem?

Antwortinhalt:

Ich bin erst seit weniger als 3 Monaten mit PHP vertraut und bin ein Neuling ... Die Website, die ich zum Testen geschrieben habe, verwendet SESSION, um die Antwort aufrechtzuerhalten. Ohne den Browser zu schließen, habe ich alle Cookies auf dem Client manuell gelöscht. Datei, dann die Website aktualisiert und festgestellt, dass das Konto noch angemeldet ist ... Was ist los?

Laut einigen der Websites, die ich normalerweise verwende, werde ich mich abmelden, solange ich die Cookies lösche...

Das Folgende ist mein Problemcode, bitte geben Sie mir einen Rat.

Seite A, die Anmeldecodes verwaltet

Seite B zeigt die Anmeldeoberfläche
<code>//登录成功,保持登录状态
function login_true($username){
    session_start();
    $_SESSION['userinfo']=array('uid'=>476283675,'username'=>$username);
}
</code>

Nachdem ich die Cookie-Datei gelöscht habe, bleibe ich immer noch angemeldet. Was ist das Problem?
<code>/*如果$_SESSION['userinfo']或$_SESSION['userinfo']['uid']为空
 *则说明未登录,引导用户登录
 */

session_start();
if (empty($_SESSION['userinfo'])or empty($_SESSION['userinfo']['uid'])){
    echo "<a href='919.html'>点我登录</a>";
    die('请先登录');
}

echo '晚上好';</code>

Die Website wird von SESSION verwaltet. Ich habe alle Cookies auf dem Client-Computer manuell gelöscht. Warum bin ich immer noch angemeldet, wenn ich sie erneut besuche?Verwenden Sie die Schaltfläche „Löschen“, die in Ihrem Browser enthalten ist.

Wenn das Cookie erfolgreich gelöscht wird, geht logischerweise die im Cookie gespeicherte Sitzungs-ID verloren. Die Sitzungs-ID, die nicht durch Anfordern des Back-End-Sitzungsmechanismus abgerufen werden kann, wird zum Abrufen der der Sitzungsdatei entsprechenden Informationen verwendet. Ich weiß nicht, welcher Teil Ihres Systems die Ausnahme verarbeitet. Cookies nicht gelöscht? Ist die Sitzungs-ID in anderen Formen im Anfragetext enthalten?

Session speichert die Sitzung, indem bei jeder Anfrage ein session_id-Wert übergeben wird. Es gibt zwei Möglichkeiten, ihn zu übergeben: eine Möglichkeit besteht darin, bei jeder Anfrage Cookies mitzuführen, oder es wird über die URL übergeben . Wenn Ihre PHP-Einstellungen über Cookies erfolgen, generiert der Server automatisch eine neue Sitzungs-ID, was bedeutet, dass die ursprüngliche Sitzung verloren geht Die Löschmethode ist falsch. Verwenden Sie als Entwickler das Opener-Tool des Browsers. Es kann alle Cookies unter dem aktuellen Domainnamen anzeigen und Cookies löschen.


Die Website wird von SESSION verwaltet. Ich habe alle Cookies auf dem Client-Computer manuell gelöscht. Warum bin ich immer noch angemeldet, wenn ich sie erneut besuche?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn