Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PHP Pomoc oko zabrane pristupa admin panelu.

[es] :: PHP :: PHP Pomoc oko zabrane pristupa admin panelu.

[ Pregleda: 1029 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Aleksandar095
Aleksandar Milosevic
Krusevac

Član broj: 340421
Poruke: 4
*.dynamic.mbb.telenor.rs.



Profil

icon PHP Pomoc oko zabrane pristupa admin panelu.13.06.2019. u 12:47 - pre 58 meseci
Pozdrav, imam problem sa PHP-om, zelim zabraniti pristup Admin Panelu korisnicima koji imaju role="user". Nije mi jasno zasto ovo ne radi i Admin Panelu imaju pristup svi korisnici.

Ima li neko ideju kako ovo mogu popraviti?

Code:

include("../db.php");
session_start();

if ((!isset($_SESSION['a']) || empty($_SESSION['a']))) {

    $sql = "SELECT role FROM users WHERE username='" . $_SESSION['a'] . "'";
    $res = mysqli_query($con, $sql);
    $row = mysqli_fetch_object($res);
    $role = $row['role'];

    if ($role != "admin") {
        header("location: login.php");
    }
}
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: PHP Pomoc oko zabrane pristupa admin panelu.13.06.2019. u 12:51 - pre 58 meseci
Ulaziš u if ako nije setovana varijabla "a", pa onda tu istu varijablu koristiš kao username.
Šta očekuješ da dobiješ?
 
Odgovor na temu

gost12
Developer

Član broj: 333123
Poruke: 37
212.92.194.*



+30 Profil

icon Re: PHP Pomoc oko zabrane pristupa admin panelu.13.06.2019. u 13:03 - pre 58 meseci
Kod je skroz pogrešan, ali i logika je skroz pomaknuta...
Nikad ne zabranjuješ pristup nekome tko ima neku rolu, to je odmah potencijalna sigurnosna rupa, uvijek gledaš u pogledu da je pristup ZABRANJEN svima, a dozvoliš ga samo korisnicima sa određenom rolom/permissionom.
 
Odgovor na temu

Aleksandar095
Aleksandar Milosevic
Krusevac

Član broj: 340421
Poruke: 4
*.dynamic.mbb.telenor.rs.



Profil

icon Re: PHP Pomoc oko zabrane pristupa admin panelu.13.06.2019. u 13:04 - pre 58 meseci
Citat:
djoka_l:
Ulaziš u if ako nije setovana varijabla "a", pa onda tu istu varijablu koristiš kao username.
Šta očekuješ da dobiješ?


Hvala, sad sam video sta sam uradio. Popravio sam gresku.

Code:

if ((!isset($_SESSION['a']) || empty($_SESSION['a']))) {
    header("location: login.php");
} else {
    $sql = "SELECT role FROM users WHERE username='" . $_SESSION['a'] . "'";
    $res = mysqli_query($con, $sql);
    $row = mysqli_fetch_assoc($res);
    $role = $row['role'];

    if ($role != "admin") {
        header("location: login.php");
    }
}
 
Odgovor na temu

Aleksandar095
Aleksandar Milosevic
Krusevac

Član broj: 340421
Poruke: 4
*.dynamic.mbb.telenor.rs.



Profil

icon Re: PHP Pomoc oko zabrane pristupa admin panelu.13.06.2019. u 13:06 - pre 58 meseci
Citat:
gost12:
Kod je skroz pogrešan, ali i logika je skroz pomaknuta...
Nikad ne zabranjuješ pristup nekome tko ima neku rolu, to je odmah potencijalna sigurnosna rupa, uvijek gledaš u pogledu da je pristup ZABRANJEN svima, a dozvoliš ga samo korisnicima sa određenom rolom/permissionom.


Pa ja ovde i pokusam dozvoliti pristup samo korisnicima koji imaju role='Admin'
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 209

ICQ: 491318095


+33 Profil

icon Re: PHP Pomoc oko zabrane pristupa admin panelu.13.06.2019. u 14:17 - pre 58 meseci
Stavljaj `session_start()` odma' u prvu liniju ispod `<?php` taga, uštedićeš sebi živce jednom.
-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6275

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: PHP Pomoc oko zabrane pristupa admin panelu.14.06.2019. u 07:24 - pre 58 meseci
Citat:
Aleksandar095:
Citat:
gost12:
Kod je skroz pogrešan, ali i logika je skroz pomaknuta...
Nikad ne zabranjuješ pristup nekome tko ima neku rolu, to je odmah potencijalna sigurnosna rupa, uvijek gledaš u pogledu da je pristup ZABRANJEN svima, a dozvoliš ga samo korisnicima sa određenom rolom/permissionom.


Pa ja ovde i pokusam dozvoliti pristup samo korisnicima koji imaju role='Admin'


Ono što ti je preporučeno je da stviš nešto kao

Code:

if ($role == "admin") {
    // prikazi sadrzaj
    } else {
        header("location: login.php");
    }



Zašto je to bolje, mislim da je očigledno.


Preporučio bih da kod koji učitava privilegije korisnika bude mnogo ranije, u kodu koji se uvek izvršava i da ti na strani gde treba da proveriš privilegije to već bude pripremljeno tako da samo proveriš privilegije. Ovako kako si krenuo, moraćeš na svakoj strani gde treba da proveravaš privilegije da stavljaš i kod koji učitava privilegije iz baze.


 
Odgovor na temu

[es] :: PHP :: PHP Pomoc oko zabrane pristupa admin panelu.

[ Pregleda: 1029 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.