Skocz do zawartości

Problem z wylogowaniem (php)


radca78

Rekomendowane odpowiedzi

Witam,

Mam problem z autoryzacja dostepu do strony, ktora pisze.

Budujac panel administracyjny oczywiscie chce go zabezpieczyc haslem. W skrocie:

Do logowania mam formularz, ktory sprawdza czy dane sa poprawne, jesli tak to ustawiam zmienna sesji:

if (isset($_POST['username'])) {

if ($_POST['username'] == cos and $_POST['password'] == cos2) {

$_SESSION['authorized'] = TRUE;

}

}

Do wylogowywania stosuje link:

<a href="<?php echo $_SERVER['PHP_SELF']; ?>?logout=1"> , ktory po ustawieniu logouta kasuje zmienna sesji:

if (isset($_REQUEST['logout'])) {

unset($_SESSION['authorized']);

}

Wszystko jest ok, bo moge w ten sposob zabezpieczyc duzo stron ...

Jednak po wylogowaniu i kliknieciu w przegladarce wstecz, ta oczywiscie pamieta dane z postu z formularza i znow ustawia zmienna sesj na 1, przez co strona jest dostepna.

Jak moze zabezpieczyc ta metode logowania, aby nacisniecie wsecz nie powodowalo ponownego logowania ?

Odnośnik do komentarza
Udostępnij na innych stronach

Witam,Jak moze zabezpieczyc ta metode logowania, aby nacisniecie wsecz nie powodowalo ponownego logowania ?

Odpowiedz:

https://pl2.php.net/manual/en/function.session-destroy.php

I jeszcze ważne aby na początku kodu php strony w ten sposób zabezpieczonej znajdowała się instrukcja sprawdzająca czy dane zmienna sesji istnieje. Najprostsza implementacja takiej autoryzacji mogła by wyglądać następująco:

<?php
session_start();
if(!isset($_SESSION[authorized]))
{
$_SESSION=array();
session_destroy();
header("location: logowanie.php");
exit;
}
//... dalszy kod php

Wylogowanie możesz dac na oddzielnej stronie. Przykładowy kod tej strony:

<? // wylogowanie.php
session_start();
if (isset($_REQUEST[logout]))
{
$_SESSION=array();
session_destroy();
header("location: $_SERVER[HTTP_REFERER]");
exit;
}
?>

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności