Služby |
• Guestbook kniha návštěv
pro každého • MailForm zasílání
výsledků formulářů na e-mail
|
|
|
Zaheslování stránky za použití funkce MD5 v
PHP
Pokud máte stránku, kterou potřebujete ochránit před zraky
lidí, kteří neznají heslo pro přístup k tajným informacím, je tento
článek přesně pro Vás... Pokud máte stránku, kterou
potřebujete ochránit před zraky lidí, kteří neznají heslo pro
přístup k tajným informacím, je tento článek přesně pro
Vás...
Rozdělíme si ho na dvě části:
v 1. části si
vytvoříme skript heslo.php, který pozná, zda jsme již zadali heslo a
odeslali na zkontrolování nebo ne. Pokud ne, vytvoří nový formulář,
ve kterém odešleme heslo a zároveň proměnnou $udelej, s hodnotou
zkontroluj a odkážeme .se na ten samý skript. Skript pozná podle
toho, že proměnná $udelej má hodnotu zkontroluj, že má zkontrolovat
heslo a, tak se zkusí přesměrovat na stránku, která se jmenuje:
"hodnota vypočítaná funkcí MD5 pro zadané heslo +
přípona.php".
Pozn.: Funkce MD5 vypočítá pro každý
řetězec jedinečné číslo. Pokud uživatel zadal správné heslo, skript
se přesměruje na správnou stránku (na tu s tajnými údaji), a pokud
ne, vypíše prohlížeč chybu, že stránka neexistuje. V tom případě se
musí vrátit zpět a zadávat heslo znovu. A myslím si, že to každého
odradí, když se mu pořád bude zobrazovat stránka, která mu říká, že
stránka neexistuje...
A ještě jedna důležitá věc - název
stránky s tajnými údaji: k zjištění jména stránky s taj. údaji nám
poslouží druhá část článku:
tu tvoří skript, který obsahuje
vstupní políčko, do něhož zadáte heslo, které budete mít na
stránkách (např.: traktor) a stisknete potvrzovací tlačítko. Skript
Vám vypíše 128-bitové číslo (o to se postará funkce MD5), které je
jedinečné pro každý řetězec jedinečné, a toto číslo je právě ten
název tajné stránky.
Takže stránka s tajnými údaji se bude
jmenovat "128-bitové číslo, vygenerované funkcí MD5.php". Vy pak
pouze napíšete heslo a skript Vás přesměruje na stránku, jejíž jméno
se rovná číslu, vygenerovanému funkcí MD5 pro řetězec traktor, ten
řetězec je:
0143e02ff2099a2af0ab227d7a4988ab.php - dobré
jméno stránky co? Zkuste si ho jen tak uhodnout...
Výhodou
tohoto skriptu je, že nikde není uloženo to pravé heslo a nikdo nemá
možnost (kromě správce serveru) možnost si prohlédnout Váš adresář,
kde budete mít tuto stránku uloženou... Tak teď ty
skripty:
Část 1.: skript heslo.php:
<? echo
"<HTML><HEAD></HEAD><BODY>"; if($udelej==""): echo
"<FORM METHOD='post' ACTION='heslo.php'>"; echo "<INPUT
TYPE='password' NAME='heslo'>"; echo "<INPUT TYPE='hidden'
NAME='udelej' VALUE='zkontroluj'>"; echo "<INPUT
TYPE='submit'
VALUE='Zkontroluj'></FORM>"; elseif($udelej=="zkontroluj"): $stranka
= MD5($heslo); echo "Tak to <A
HREF='$stranka'>zkuste</A>"; endif; echo
"</BODY></HTML>"; ?>
2.část
- zjisti.php:
<? echo
"<HTML><HEAD></HEAD><BODY>"; if($zjisti==""): echo
"<FORM METHOD='post' ACTION='zjisti.php'>"; echo "<INPUT
TYPE='text' NAME='text'>"; echo "<INPUT TYPE='hidden'
NAME='zjisti' VALUE='ano'>"; echo "<INPUT TYPE='submit'
VALUE='Zjisti
MD5'></FORM>"; elseif($zjisti=="ano"): $hodnota =
MD5($text); echo "Hodnota MD5 je: $hodnota"; endif; echo
"</BODY></HTML>"; ?>
Autor: Jakub Honig, hoya@seznam.cz, informace a seznam
článků
• Bezpečnost?,
Rad, 5.11.2002 9:21:11 • len pre
lamy, yuro, 5.11.2002 15:40:08 • No nevim a co
takhle stupidne, Jan Kučera, 5.11.2002
18:46:27
Přidat
komentář
| Poslední články ze stejné
rubriky |
• Hodnocení
stránky/článku (2.) • PHP: Jednoduchá
anketa bez databáze • Hodnocení
článku • Jednoduchá Kniha
návštev v PHP bez MySQL • Seznamka v PHP a
MySQL (4.)
| |
Provozovatel:
Poslední články |
|
|
|
Hodnocení článku |
Stav:
3 Počet: 1 |
|
Nový redaktor |
Chcete psát články pro PC Svět či
se stát redaktorem?
Články honorovány! Informace zde
|
|
|