Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[PHP][MySQL] Kłopot z wylogowaniem się ze strony

blekota0 01 Sie 2011 23:32 1659 8
  • #1 01 Sie 2011 23:32
    blekota0
    Poziom 8  

    Napisałem skrypt logowania na bazie PHP i MySQL oparty na sesjach. Wszystko ładnie działa, lecz gdy się wyloguję zaczynają się problemy.
    Mianowicie: niby jestem wylogowany, sesja jest zakończona lecz ja mogę dalej zmieniać dane, mogę powrócić do poprzedniej strony na której byłem za pomocą strzałek "przejdź do poprzedniej strony" przeglądarki i na przykład mogę zmienić dane. Czy ktoś z was wie o co chodzi ????
    W załączeniu kod logowania i wylogowania.

    plik login.php

    Kod: php
    Zaloguj się, aby zobaczyć kod

    plik logout.php

    Kod: php
    Zaloguj się, aby zobaczyć kod

    Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. - arnoldziq

    0 8
  • #2 02 Sie 2011 09:29
    adamz74
    Poziom 30  

    Czy sprawdzasz, czy istnieje aktywna sesja w każdym skrypcie (również w includowanych)?

    Za mało danych, żeby powiedzieć więcej. Potrzebne są również pozostałe skrypty.

    Pozdr!

    0
  • #3 02 Sie 2011 09:55
    PUPILANDER
    Poziom 15  

    Pokaż jeszcze gdzie rozpoczynasz sesję.

    0
  • #4 02 Sie 2011 15:06
    blekota0
    Poziom 8  

    Sesje rozpoczynam w nagłówku który includowany jest do innych skryptów i ona mi trzyma cały czas sesję. Jak dopiszę do innych skryptów session_start(); wywala błąd.

    Kod: php
    Zaloguj się, aby zobaczyć kod

    0
  • #5 02 Sie 2011 20:54
    stygma
    Poziom 23  

    Linek

    pl.php.net napisał:
    session_destroy() niszczy wszystkie dane skojarzone z bieżącą sesją. Nie usuwa żadnych globalnych zmiennych związanych z sesją. Nie usuwa też ciasteczka sesyjnego.

    Aby "zabić" całość sesji, na przykład aby wylogować użytwkonika, należy także usunąć identyfikator sesji. Jeśli do propagowania identyfikatora sesji jużyte było ciasteczko, to usunięte musi być ciasteczko sesyjne. Można do tego użyć funkcji setcookie().


    Cofanie stron zabezpiecza się przez dodawanie tokena przy wysyłaniu formularza do $_POST i ciastka i porównywaniu go przed wysłaniem formularza.

    pozdrawiam stygma

    0
  • #6 04 Sie 2011 10:10
    blekota0
    Poziom 8  

    Cytat:

    session_destroy() niszczy wszystkie dane skojarzone z bieżącą sesją. Nie usuwa żadnych globalnych zmiennych związanych z sesją. Nie usuwa też ciasteczka sesyjnego.

    Aby "zabić" całość sesji, na przykład aby wylogować użytwkonika, należy także usunąć identyfikator sesji. Jeśli do propagowania identyfikatora sesji jużyte było ciasteczko, to usunięte musi być ciasteczko sesyjne. Można do tego użyć funkcji setcookie().


    Zrobiłem tak i nic nie pomogło, dalej po wylogowaniu mogę wrócić do poprzednich danych i je modyfikować:cry:.

    0
  • #7 04 Sie 2011 14:55
    loganek2
    Poziom 16  

    no to spróbuj:

    Kod: php
    Zaloguj się, aby zobaczyć kod

    0
  • #8 05 Sie 2011 15:55
    Dragas
    Poziom 26  

    A czy nie lepiej tak niszczyć dane:

    Kod: php
    Zaloguj się, aby zobaczyć kod

    0
  • #9 21 Sie 2011 18:34
    blekota0
    Poziom 8  

    Dzięki wszystkim za podpowiedzi. Rozwiązałem w inny sposób (przerobiłem całe logowanie i teraz jest OK).

    0