Autor Zpráva
Majkelju
Profil
Zdravím,
mám na webu složku protected, ve které mám soubor .htaccess s parametrem deny from all. Pokud do prohlížeče zadám mujweb.cz/admin.php, tak to funguje, stránka vyhodí chybu 404. Jenže když napíšu mujweb.cz?admin, tak není pro kohokoliv problém se do administrace dostat. V souboru index.php mám totiž odkaz, který předává GET parametr a následně používám příkaz
if(isset($_GET['admin'])) include './protected/admin.php';
Jak na to, abych měl soubor admin.php chráněný i pokud nepřihlášený uživatel zadá do URL GET parametr?
Joker
Profil
Majkelju:
To není nedokonalý .htaccess, ale bezpečnostní díra v PHP skriptu.

Jak na to, abych měl soubor admin.php chráněný i pokud nepřihlášený uživatel zadá do URL GET parametr?
Nemít tam ten skript.
Jinak moc nevím co poradit. To ani není chyba, když tak ten skript funguje záměrně.

Jestli se administrace nemá zobrazovat každému kdo za stránku dopíše ?admin, proč tam je skript, který administraci zobrazí každému kdo za stránku dopíše ?admin?
Kubo2
Profil
Majkelju:
Predpokladám že admin sa má zobraziť iba prihlásenému používateľovi, takže musíš overiť aj či je prihlásený:
if(isset($_GET['admin']) && true === $_SESSION['user_je_prihlaseny']) include "./protected/admin.php";
Samozrejme musíš login status overiť tak, ako to robíš, nepoznám totiž celý tvoj prihlasovací systém.
Majkelju
Profil
Kubo2: Děkuju moc, to mě mohlo napadnout! :) Takhle mi to stačí, už vím, jak dál :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: