Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Panel logowania uprawnienia
Forum PHP.pl > Forum > Przedszkole
inomi13
Proszę o poradę czy zastosowany przeze mnie kod jest dobrze przemyślany i bezpieczny. Tzn. w bazie danych w tabeli users dodałem kolumnę "roles" tak aby podczas logowania kod sprawdzał jakie uprawnienia ma dany użytkownik.
  1. if ($_SESSION['roles'] == "1")
  2. {
  3. header('Location: admin/panel.php');
  4. }
  5. else
  6. {
  7. if ($_SESSION['roles'] == "0")
  8. {
  9. header('Location: panel.php');
  10. }
  11. }
  12.  
viking
Zależy. Tutaj jest tylko samo przekierowanie. A co jak np zmienna sesyjna roles nie będzie ustawiona?
inomi13
  1. if ((!isset($_POST['login'])) || (!isset($_POST['pass'])))
  2. {
  3. header('Location: index.php');
  4. exit();
  5. }
  6. require_once "connect.php";
  7. $connect = @new mysqli($host, $db_user, $db_password, $db_name);
  8. if ($connect->connect_errno!=0)
  9. {
  10. echo "Błąd: ".$connect->connect_errno;
  11. }
dublinka
  1. if ($_SESSION['roles'] == "1")
  2. {
  3. header('Location: admin/panel.php');
  4. }
  5.  
  6.  
  7. if ($_SESSION['roles'] == "0")
  8. {
  9. header('Location: panel.php');
  10. }
  11.  
inomi13
czyli ogólnie mój zamysł jest dobry że zrobiłem to na sadzie kolumny roles ?
dublinka
To tylko warunki a co tam robisz wczesniej tego nie wiem.
Samo polaczenie z mysql nic mi nie daje.

  1. //Tutaj sprawdzaj w zapytaniu usera i haslo. Nie zapomnij pobrac pola ROLE.
  2.  
  3. switch($row["role"])
  4. {
  5. case "admin":
  6. $_SESSION['rola'] = "1";
  7. header("Location: admin.php");
  8. break;
  9. case "user":
  10. $_SESSION['rola'] = "0";
  11. //.....
  12. }


i teraz gdziekolwiek chcesz operujesz sesjami. Dla admina masz wartosc 1 dla usera 0
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.