Diskuze: Problém s přihlášením $_SESSION
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Je to starší téma, sice jsme začátečník ale řešil bych to trochu jinak.
Na stránce, kde chceš aby se lidi dostali pouze po přihlášení.
session_start();
if (!$logovani["login"]){
header("location:prihlaseni.php");
}
else { $logovani ["id"];
$logovani ["jmeno"];
$logovani ["prijmeni"];
$logovani ["login"];}
Tak tohle je hodně velký bezpečnostní riziko - na to si dávej bacha
!
Když chceš přesměrovávat, nestačí to pouze přes header, ale musíš to
ukončit - EXIT();
Takže tam bude
header("Location: prihlaseni.php"); exit();
Vysvetlil by si mi prosím prečo je to bezpečnostná chyba bez toho exit-u? Dík
Protože ten script běží dál. Nevím přesně, jak je to v detailech, ale kdybys napsal nějaký příkaz za ten header("location:...") (třeba nějakej update v DB), mělo by se to provést.
Takže ono to presmeruje užívateľa v prehliadači na novú adresu, ale ten
daný skript neukončí a beží dalej. To dáva zmysel
Uživatele to přesměruje až poté, co se ten skript provede. Byl o tom
nějakej článek na soomu, můžeš ho zkusit najit
Tady je o tom něco napsané:
http://www.soom.cz/…presmerovani
Neaktivní uživatel: Taky jsem si zrovna na soom vzpomněl
Zobrazeno 9 zpráv z 9.