ARCHIV |
|||||||||||||||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
PHP (50) - Ověřování uživatelůJak pomocí PHP zajistit, aby se uživatel musel před shlédnutím stránky přihlásit? Weby psané pomocí PHP se málokdy skládají z jedné stránky. Většinou jde o sadu stránek, které jsou vzájemně nějak provázané a které zajišťují různé úkoly. S tím souvisí otázka zabezpečení - asi nebudete chtít pouštět uživatele na administrační stránku. Dnes si tedy ukážeme, jak pomocí PHP přihlásit uživatele. Ono to má související problém, a tím je sdílení dat mezi více
stránkami. Tomu se budeme postupně věnovat v následujících dílech
seriálu. Ale pochopitelně to, zda je uživatel přihlášen je rovněž často
potřeba vědět na více stránkách. Ověřování pomocí WWW-AuthenticateMějme například následující stránku PHP: <? Asi chápete, že sem byste běžného uživatele pustit nechtěli. Pomocí
PHP však můžete povolit vstup pouze autentifikovaným uživatelům.
Princip je velmi jednoduchý. Musíte donutit server, aby si myslel, že
ke stránce nemá přístup kdekdo, a požádal Vás o autentifikaci. To lze
provést pomocí jedné z hlaviček protokolu http: Header("WWW-Authenticate: Basic
realm=\"oblast_hesel\""); Jakmile tato hlavička dorazí na server, neodešle klientovi (tedy
prohlížeči) tělo stránky, ale požadavek na autentifikaci. Takže se Vám
v prohlížeči objeví klasické okno pro zadání jména a hesla. To je pak
odesláno zpět na server a (což je pro nás důležité) uloženo pro další
práci jako součást informací v asociativním poli $_SERVER. Konkrétně je
to takto:
Aby nedošlo k mýlce - ověření jména a hesla musíme provést sami.
Uvedený postup jméno a heslo pouze od uživatele získal, informace však
nijak neporovnával s žádným seznamem povolených uživatelů a/nebo hesel.
Můžete například ověřit jméno a heslo proti databázi nebo je porovnat s
údaji v samotném skriptu. Pozn.: Uvedené věci platí ovšem
jen tehdy, pokud PHP běží jako modul Apache. Jestliže běží jako
interpreter CGI, nebude to fungovat. PraxeV praxi musíte pamatovat ještě na pár technických detailů. Příjemné
je například to, že po úspěšném ověření jsou přihlašovací informace pro
daný realm k dispozici i dalším skriptům, a to až do odhlášení nebo
uzavření prohlížeče. Z toho vyplývají dvě věci:
Mějme tedy jako příklad dvě "super tajné" stránky. Všimněte si, že z každé vede odkaz na tu druhou: Ukázat skript 1 | Spustit skript 1 Ukázat skript 2 | Spustit skript 2 Jestliže budeme chtít, aby na obě stránky měl přístup pouze uživatel Honza s heslem jezevec, půjdeme na to následovně: Nejprve si vytvoříme soubor auth.php, který bude obsluhovat ověřování: <? A následně pomocí direktivy require tento soubor vložíme na začátek našich dvou skriptů. Výsledek bude tento: Ukázat skript 1 | Spustit skript 1 Ukázat skript 2 | Spustit skript 2 Všimněte si, že ověřování můžete zkazit jenom jednou, protože pak si již server zadané údaje pamatuje. To je trošičku nevýhoda uvedeného postupu, ale je víceméně jediná. Rovněž si všimněte, že po ověření z libovolného z obou skriptů je automaticky k dispozici i ten druhý. V dalším díle našeho seriálu se podíváme na lehce příbuzné téma - a tím bude sdílení informací mezi stránkami.
Související články
Předchozí Celou kategorii (seriál) Další
PHP (1) - Historie a budoucnost
PHP (2) - Jak to funguje PHP (3) - Instalace PHP (4) - Základy syntaxe PHP (5) - Příkaz Echo; formátování kódu PHP (6) - Typy proměnných PHP (7) - Pole PHP (8) - Výrazy, konstanty, inkrementace PHP (9) - Přetypování proměnných PHP (10) - Logické výrazy a operátory PHP (11) - Operátory porovnání; priorita operátorů PHP (12) - Podmínky PHP (13) - Příkazy cyklu PHP (14) - Cyklus for PHP (15) - Funkce PHP (16) - Vyrobme si kalendář PHP (17) - Dokončujeme kalendář PHP (18) - Funkce pro práci s poli PHP (19) - Objekty PHP (20) - Objekty podruhé PHP (21) - Vkládání souborů PHP (22) - Regulární výrazy PHP (23) - Neztraťte se ve funkcích PHP (24) - Pracujeme s formuláři PHP (25) - Formuláře - nikomu nevěřte PHP (26) - Formuláře na sto způsobů PHP (27) - Příklady na formuláře PHP (28) - Chybovati je lidské PHP (29) - Soubory a adresáře PHP (30) - Počitadlo pomocí souborů PHP (31) - Upload a download souborů PHP (32) - Příklad na BLOG PHP (33) - HTTP hlavičky PHP (34) - Úvod do databází PHP (35) - Uložení dat v databázi PHP (36) - Připojujeme se k MySQL PHP (37) - Tvorba tabulek v MySQL PHP (38) - Dolujeme data z MySQL PHP (39) - Zobrazujeme a stránkujeme data PHP (40) - PHP a vkládání záznamů do databází PHP (41) - Měníme data v databázích PHP (42) - Odstraňujeme databázová data PHP (43) - MySQL rychleji a rychleji PHP (44) - MySQL ještě rychleji PHP (45) - Jsou data v databázi v bezpečí? PHP (46) - Importujeme data do databáze PHP (47) - Exportujeme data PHP (48) - Práce s binárními daty (BLOB) PHP (49) - Kam kráčíš, MySQL? PHP (51) - Přenos dat mezi stránkami PHP (52) - Cookies PHP (53) - Sessions PHP (54) - Dodržování webových standardů PHP (55) - Odesílání e-mailů PHP (56) - Tisk a PDF PHP (57) - XML PHP (58) - XML lépe a radostněji PHP (59) - zapisujeme XML PHP (60) - Rozsáhlejší projekty 1. PHP (61) - Rozsáhlejší projekty 2. PHP (62) - Rozsáhlejší projekty 3. PHP (63) - Rozsáhlejší projekty 4. PHP (64) - Ladění kódu PHP (65) - Ladění kódu 2. PHP (66) - PHP debugger PHP (67) - Zdroje informací o PHP PHP (68) - Stavíme portál PHP (69) - Stavíme portál 2. PHP (70) - Registrace uživatelů na portálu PHP (71) - Přihlašování uživatelů na portál PHP (72) - Hrátky s uživateli PHP (73) - Frontend a backend PHP (74) - Administrátorské rozhraní portálu PHP (75) - Pokračujeme na portále PHP (76) - Zobrazujeme data na portále PHP (77) - Portál, databáze a relace PHP (78) - Informační obsah portálu PHP (79) - Triky s formuláři a ergonomie webu PHP (80) - Administrace diskografie hudebního portálu PHP (81) - Uživatel versus programátor PHP (82) - zabezpečení vstupů formulářů PHP (83) - Ukládání textů písní na hudebním portále PHP (84) - Ještě k registraci PHP (85) - ukládání souborů do databáze na portálu PHP (86) - zobrazení dat a stahování soborů pro registrované PHP (87) - finišujeme portál PHP (88) - provoz ve Windows PHP (89) - cesta do hlubin php.ini PHP (90) - Poťouchlé konfigurační volby PHP (91) - php.ini potřetí a naposledy PHP (92) - funkce pro interakci s operačním systémem PHP (93) - příkazový řádek PHP (94) - GUI PHP (95) - GUI podruhé PHP (96) - (ne)bezpečné PHP PHP (97) - bezpečnost ještě jednou PHP (98) - PHP 5. PHP (99) - Budoucnost PHP PHP (100) - Závěr PHP (101) - Apríl: Příklady z praxe php rewrite Byte order mark a PHP Předchozí Celou kategorii (seriál) Další Ke stažení jako HTML nebo jako PDF.
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera 12.11.2018 21:28 /Redakce Linuxsoft.cz 6.11.2018 2:04 /František Kučera 4.10.2018 21:30 /Ondřej Čečák 18.9.2018 23:30 /František Kučera 9.9.2018 14:15 /Redakce Linuxsoft.cz 12.8.2018 16:58 /František Kučera 16.7.2018 1:05 /František Kučera
Poslední diskuze
31.7.2023 14:13 /
Linda Graham 30.11.2022 9:32 /
Kyle McDermott 13.12.2018 10:57 /
Jan Mareš 2.12.2018 23:56 /
František Kučera 5.10.2018 17:12 /
Jakub Kuljovsky | |||||||||||||||
ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze |