• 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

Object Storage Arubacloud
+1 głos
248 wizyt
pytanie zadane 23 listopada 2021 w PHP przez BarSki13 Obywatel (1,250 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ź 23 listopada 2021 przez qax Dyskutant (8,060 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 23 listopada 2021 przez Wiciorny Ekspert (273,830 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 23 listopada 2021 przez qax Dyskutant (8,060 p.)

Zgadza się. smiley

+2 głosów
odpowiedź 23 listopada 2021 przez wizarddos Nałogowiec (26,070 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ź 24 listopada 2021 przez Ehlert Ekspert (213,150 p.)
+1 głos
odpowiedź 24 listopada 2021 przez mateusz45 Gaduła (3,240 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
0 głosów

Podobne pytania

0 głosów
1 odpowiedź 191 wizyt
pytanie zadane 12 lipca 2018 w PHP przez Vxid Functixn Bywalec (2,720 p.)
0 głosów
0 odpowiedzi 330 wizyt
0 głosów
2 odpowiedzi 1,345 wizyt
pytanie zadane 17 lutego 2016 w PHP przez Kubala94 Początkujący (360 p.)

92,761 zapytań

141,685 odpowiedzi

320,483 komentarzy

62,105 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...