Zabezpieczanie koknkretnej strony hasłem

Witam mam pytanie.

Czy w systemie logowania opartym na pliku .txt da się zabezpieczyć konkretną strona tak aby nie dało się na nią wejść bez podania hasła nawet znając linka do niej?

Kiedy użytkownik się loguje, twórz sesję. Po wywołaniu innej strony sprawdzasz obecność ów sesji (a konkretnie utworzonej zmiennej sesyjnej i ewentualnie jej wartość).

http://pl.php.net/manual/pl/ref.session.php

Połapac sie za bardzo w tym nie mogę. Sesja mam stworzyć podczas logowania, ale w jaki sposób?? I która komenda jest odpowiedzialna za sprawdzenie czy ta sesja która została już utworzona podczas logowania jest nadal aktywna?

Samą blokadę strony robi się prosto.

Na samym początku strony sprawdzasz czy dana osoba jest zalogowana, jeśli nie wywołujesz funkcję exit() [lub wypisujesz konkretny komunikat].

Wygląda to mnie więcej tak:

  1. w każdym pliku, w którym ma być wykorzystana sesja (czyli w każdym pliku, który ma być dostępny po zalogowaniu), na samy początku dajesz :

    session_start();

  2. w momencie logowania, jeśli użytkownik wpisał prawidłowy login i hasło, tworzysz nową zmienną sesyjną i dajesz jej jakąś wartość. Wszystkie zmienne sesyjne przechowuje tablica superglobalna _SESSION

    if(zalogowano)

    {

    $_SESSION[‘mojazmienna’]=1;

    }

następnie, w pliku, który ma być dostępny dla zalogowanych sprawdź czy ta zmienna istnieje i czy ma prawidłową wartość:

if(isset($_SESSION['mojazmienna'])&&$_SESSION['mojazmienna']==1) {

//zawartość pliku

}

else {

//przekieruj na stronę logowania

}

Pamiętaj, aby udostępnić opcję ‘wyloguj’, w której wykorzystasz funkcję

session_destroy();

Więcej poczytasz w linku, jaki dałem wyżej.

Może nie na pliku txt ale można łatwo przerobic ja kiedyś zrobiłem coś takiego

<?

session_start();

if ($_GET[wyloguj]==1)

{

$_POST[nick]=="";

$_POST[heselo]=="";

$_GET[wyloguj];

session_destroy();

}


if ($_POST[nick]=="1"&&$_POST[heselo]=="2"&&$_GET[wyloguj]!=1)

{

$_SESSION['sesje']=89076;

}

else

{

echo "Podaj prawidłowe dane" ;

}

if($_SESSION['sesje']==89076&&$_GET[wyloguj]!=1)

{

echo 'Panel Admin';

echo 'Logout';

}

else {

echo '


Login :

Hasło :



' ;

}


?>[/code]

Mam nadzieje że sie przyda :mrgreen: