• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP - użytkownik zalogowany na wielu podstronach

+1 głos
89 wizyt
pytanie zadane 4 dni temu w PHP przez BarSki13 Użytkownik (540 p.)

Witam,

W PHP chciałbym zrobić, że użytkownik jest zalogowany na wielu podstronach. Na każdej można się wylogować przyciskiem. W programowaniu PHP jestem świerzakiem, nie mam zbyt dużej wiedzy o pisaniu w PHP. Będą to operacje na sesjach ale nie wiem jak je wykorzystać do wielu podstron z takim właśnie zalogowanym użytkownikiem.

Macie jakieś porady czy linki do stron które mogą mi pokazać coś na ten temat.

Z góry dziękuję za odpowiedź

 

Kod PHP logowanie

<?php
            include('connect.php');

            session_start();
            
            if(!empty($_POST['username']) && !empty($_POST['username2']))
            {
                $dane1 = 'admin';
                $dane2 = '1234';
                if($_POST['username'] == $dane1 && $_POST["username2"] == $dane2)
                {
                    header('Location: http://localhost/shop/index.html');
                }
                else
                {
                    echo "Nieprawidłowe dane logowania";
                }
            }
?>

Kod PHP wylogowanie

<?php
    session_start();

    session_destroy();

    header('Location: http://localhost/shop/zaloguj.php');
?>

 

5 odpowiedzi

+4 głosów
odpowiedź 4 dni temu przez qax Mądrala (6,330 p.)
Nie ma potrzeby zmieniać headera odpowiedzi http, który ma wskazywać na aktualną lokalizację użytkownika - przecież każdy może sobie go podglądnąć i wejść na tą stronę bez uprawnień. Lepiej raz stworzyć sesję podczas logowania i w niej przechowywać login i hasło, a na wszystkich stronach przedtem sprawdzać poprawność tych danych i wyświetlać aktualny status użytkownika (czyli w razie konieczności wyświetlać panel do logowania lub przycisk do wylogowywania).

Jeśli napisałem coś niezrozumiale pytaj śmiało. ;)
1
komentarz 4 dni temu przez Wiciorny Mędrzec (184,510 p.)

tylko żeby kolega zrozumiał dobrze, to utrzymywanie danych sesji 

Never store any kind of sensitive data anywhere except the database you should generally avoid using MD5 and SHA family directly.

dlatego trzeba odp. zaimplementować System uwierzytelniania, który  porównywać  będzie  informacje o kliencie (tutaj np. nazwę użytkownika i hasło), a następnie stworzy np. specjalny token, zapisując go w sesji lub w pliku cookie.

komentarz 4 dni temu przez qax Mądrala (6,330 p.)

Zgadza się. smiley

+2 głosów
odpowiedź 4 dni temu przez wizarddos Pasjonat (15,160 p.)

W takim przypadku pomogą zmienne sesyjne

W twoim przypadku można by było np. stworzyć taką zmienną ze statusem zalogowania, ewentualnie jakimś tokenem zabezpieczającym. Coś w rodzaju tego

$_SESSION['is loged'] = true;

I na każdej podstronie sprawdzać czy taka zmienna jest ustawiona

 

a aby korzystać z sesji wystarczy session_start() na początku pliku

+2 głosów
odpowiedź 3 dni temu przez Ehlert Ekspert (205,150 p.)
+1 głos
odpowiedź 3 dni temu przez mateusz45 Bywalec (2,150 p.)
Utwórz w php ciasteczko które będzie przetrzymywało tokien i najlepiej jeszcze 2 które Będzie zawierało cokolwiek ale żeby było bo to bardziej będzie chroniło przed xss ale chociaż troszke

Podobne pytania

0 głosów
1 odpowiedź 104 wizyt
pytanie zadane 12 lipca 2018 w PHP przez Riddick Bywalec (2,550 p.)
0 głosów
0 odpowiedzi 133 wizyt
0 głosów
2 odpowiedzi 1,029 wizyt
pytanie zadane 17 lutego 2016 w PHP przez Kubala94 Początkujący (360 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

85,707 zapytań

134,502 odpowiedzi

298,523 komentarzy

56,629 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...