Zabezpeční PHP skriptu heslem I.

23.09.2001 22:18

Jistě už se vám někdy stala následující situace: tvoříte např. svoji homepage, vystavíte jí (se vší slávou a celou rodinou :)), ale nechcete, aby fotky z vaší dovolené viděl každý návštěvník a tuto možnost měli například jen známí či příbuzní. Jak na to? Jak zabezpečit stránku tak, aby se na ní dostali jen uživatelé znalí hesla?

Nejprve si vytvoříme jednoduchou html stránku index.html, kde bude formulář pro uživatelské jméno a heslo.

<html>
<head><title>Zabezpečení PHP skriptu heslem</title></head>

<form name=formular action=fotky.php>
Jmeno: <input type=text name=jmeno>
Heslo: <input type=text name=heslo>
</form>

</html>

Máme tedy úvodní stránku. Před tvorbou další části se musíme rozmyslet, jestli bude jméno a heslo společné pro všechny uživatele (hodí se tam, kde buď není dostupná databáze, nebo na bezpečnosti mnoho nezáleží), nebo budou pro každého návštěvníka jiné.

Nyní si ukážeme první z možností: společné přihlašovací jméno i heslo pro všechny návštěvníky. V tomto případě bude skript velice jednoduchý.

<html>
<head><title>Zabezpečení PHP skriptu heslem</title></head>

<? If (($jmeno=="dovolena") && ($heslo=="fotky")): ?>
Fotky z dovolené 2001
<? Else: ?>
Chybné jméno nebo heslo!
<? Endif; ?>

</html>

Tato verze by měla vetšině z vás docela dobře posloužit, ale ti, kteří chtějí, aby každý mohl k heslovaným stránkám pod svým uživatelským jménem a heslem, budou už jistě muset použít následující verze a databáze. My budeme počítat s tabulkou o dvou sloupcích - "jmeno" a "heslo".

Je jistě dobré a nutné uložená hesla nějakým způsobem kryptovat. PHP nám nabízí několik dobrých funkcí, který zadaný řetězec bez obtíží zakódují. Jedná se o funkce MD5("heslo"), Crypt("heslo") a Base64_Decode("heslo"). Následující skript bude počítat s kryptováním funkcí MD5().

Tím jsme zabezpečili naše fotky z dovolené před zraky veřejnosti a nyní si je už může prohlédnout jen uživatel znalý jména a hesla.tomash