| Autor | Zpráva | ||
|---|---|---|---|
| Martin XYZ Profil * |
#1 · Zasláno: 9. 5. 2014, 13:29:24
Ahoj,
prosím o názor zkušenějších. Na několika stránkách mám vyřešeno zabezpečení přes SESSION... Na každé zaheslované stránce je toto: <?php
session_start();
if(!$_SESSION['LoggedInSecure']) header("location: ./login.php");
?>A přihlášení z formuláře je takto: <?php
session_start();
if (($_POST["login"] == "jmeno") && ($_POST["password"] == "heslo")) {
$_SESSION['LoggedInSecure'] = true;
header("location: ./secured.php");}
?>Dotaz - jak moc je toto bezpečné? Případně co by bylo lepší použít, aby se to nedalo snadno obejít? Děkuji, Martin |
||
| juriad Profil |
#2 · Zasláno: 9. 5. 2014, 13:34:02
Změň to na:
if(!$_SESSION['LoggedInSecure']) {
header("location: ./login.php");
exit();
}Lepší než ukládat true do LoggedInSecure je ukládat přímo login nebo ID uživatele. Po odhlášení předpokládám, že SESSION ničíš. Další zlepšení je možné asi jen použitím SSL (https místo http). |
||
| Jan Tvrdík Profil |
#3 · Zasláno: 9. 5. 2014, 13:38:04
juriad:
„Další zlepšení je možné asi jen použitím SSL (https místo http).“ Jen SSL? Co takhle zabezpečit web proti sessions fixation nebo session hijacking? Nebo co takhle nemít heslo v plain-textu? |
||
|
Časová prodleva: 4 dny
|
|||
| Martin XYZ Profil * |
#4 · Zasláno: 13. 5. 2014, 18:17:55
juriad: děkuji za úpravu skriptu, použil jsem Tvoje řešení. A po odhlášení session ničím, tak to snad takhle bude stačit :-).
Díky, M. |
||
|
Časová prodleva: 12 let
|
|||
0