uprawnienia

0

Hej czy można nadać użytkownikom mojej strony internetowej odpowiednie "moce"? Np. zwykły user ma dostęp tylko do głównej strony internetowej, ale admin ma dostęp do głownej strony jak i panelu admina. Jak takie coś nadać?

0

A to zależy. Gównie od tego z czego korzystasz. Całość sprowadza się do tego, żeby sprawdzić, czy użytkownik ma daną rolę i jeżeli jej nie posiada, to przekierować go na stronę z kodem błędu 403.

Napisz coś więcej o tym czego używasz, czy jest to sam PHP, gdzie każda strona to oddzielny plik *.php, czy masz może jakiś "core" swojej aplikacji, czy jest to popularny framework (laravel, symfony itp.).

0

Znaczy to mam na razie odpalone na localhoscie w xampp, wszystko jest testowe, po prostu się tak bawię, i mam jedną głowną strone na której chciałbym aby mieli wstęp uzytkownicy wszyscy, no i bedzię link na tej stronie na której ów użytkonicy bedą mogli się zarejestrować i zalogować, po logowaniu np. admina przenosi go do panelu administratora, a po logowaniu zwykłego usera po prostu go przenosi na główną strone i nic więcej

0

to jest czysty php, każda strona w oddzielnym pliku .php

0

Ogólnie, żeby napisać cały system roli, uprawnień i zabezpieczeń, to trzeba się trochę naklepać. Z tego też powodu używa się frameworków, bo one nam to ogrywają.
Nie będę Ci tutaj rozpisywał całego, skomplikowanego design'u, bo pewnie i tak na razie będzie to zbyt skomplikowane.

  1. Dodaj sobie do bazy, do tabelki users (czy gdzie ich tam trzymasz) kolumnę role (zakładam, że na razie każdy ma jedną).
  2. Nadaj użytkownikom jakieś role np. admin, user.
  3. Podczas logowania wrzuć sobie tą role do sesji (albo całego użytkownika, bo zakładam, że go pobierasz)
    $_SESSION['user_role'] = $user['role'];
  4. Na górze pliku *.php, do którego chcesz kontrolować dostęp dodaj taki warunek:
    if ($_SESSION['user_role'] !== 'admin') {
    header('Location: /index.php');
    exit;
    }

    Jeżeli użytkownik nie ma roli admin, to zostanie przekierowany na stronę główną (która pewnie jest w pliku index.php.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0