JavaScript a PHP heslo
Na této stránce naleznete různé jednoduché metody zaheslování stránek.
Struktura zaheslovaných stránek
Mnohdy se může stát, že existují dvě stránky, například stránka A s formulářem, který vede na stránku B. Občas stačí pouze zadat adresu stránky B a heslo vůbec není třeba řešit. Stačí si jen prohlédnout zdrojový kód stránky u atributu action
. Na to je třeba dát dobrý pozor.
Heslo pomocí JavaScriptu
Heslo pomocí JavaScriptu je věc málo bezpečná. K obejití takového kódu stačí zobrazit zdrojový kód:
function overheslo(){ if(document.form.heslo.value=="tajneheslo") location.href="tajnastranka.html"; else window.alert("špatnéheslo")}
Zkušený návštěvník se podívá do zdroje a je mu vše jasné. Jako obstojnější kód se může zdát tohle:
heslo=prompt('Zadejte heslo'); spravneheslo="heslo"; if (heslo==spravneheslo) { window.location="zaheslovanastranka.htm"; } else { window.location="spatneheslo.htm"; }
Tento skript nikdy návštěvníkovi nedovolí zobrazit zdrojový kód (nejdříve je zobrazeno dialogové okno, potom jste posláni jinam). Ale prolomení takového hesla není problém, stačí si před příchodem na takovou stránku vypnout JavaScript.
Heslo v PHP
Zdrojový kód pro zaheslování pomocí PHP:
// formulář <form action="heslo.php3" method="get"> <input type="password" name="heslo" /> <input type="submit" value="odeslat" /> </form> // heslo.php3 // tato stránka vás po zadání špatného hesla vrátí zpět k formuláři <? if($heslo == "tajneheslo"): ?> ..tajny text <? else: ?> // zadané heslo je chybné history.back() <? endif ?>
Ze zdrojového kódu nyní návštěvník heslo nepozná a pokud stránku zobrazí bez zadání hesla, automaticky se zobrazí text "..zadané heslo je chybné", není definovaná proměnná $heslo
Jak zabránit obejití struktury
Většinou je třeba zaheslovat několik stránek. Buď na každou umístěte formulář pro heslo, nebo je přenášejte pomocí proměnné Session (od PHP4), ta se jednou deklaruje a při změnách URL se nemění. Deklarace:
$_SESSION['heslo'] = 'qwert'; session_start(); if ($_SESSION['heslo'] == 'qwert') echo "Jo je to dobrý....." ; else "Chybné heslo!!!";
Heslo v PHP pomocí dialogového okna
IF ( !($PHP_AUTH_USER == "Simon" and $PHP_AUTH_PW == "qwert") ) { Header("WWW-Authenticate: Basic realm=\"SITE\""); Header("WWW-Authenticate: Basic realm=\"SITE\""); Header("HTTP/1.0 401 unauthorized"); echo ("Pristup odepřen!"); exit; } else: echo "Vítejte na mých stránkách..."
Tato konstrukce musí předcházet všechno v dokumentu, jinak nefunguje.
Zajímavé: Jak ochránit své stránky
+Zajímavé: Jak skrýt reklamu
Vyhledávání
Základy
Rozšíření
Příklady
- PHP scripty
- Kniha návštěv
- Ochrana e-mailu
- Malé šablony
- Počítadlo návštěv
- Odeslání e-mailu
- Generování formuláře
- IP adresa
- RSS čtečka
- Heslo
- Zaheslování jedné stránky
- Ověření e-mailu
- Odstranění diakritiky
- Aktuální datum a čas
- Vypsání souboru
- Počet souborů v adresáři
- Vypsat název dne
- Vypsat název měsíce
Ostatní
Poradna
Pokud si nevíte rady, chcete kontakt na spolehlivého tvůrce webu, či vás zajímá cizí názor, ozvěte se.