Autor | Zpráva | ||
---|---|---|---|
markétice Profil |
#1 · Zasláno: 9. 12. 2004, 21:53:18
Jak zaheslovat stránku? (Pouze jednu)
|
||
thingwath Profil * |
#2 · Zasláno: 9. 12. 2004, 21:59:02
To záleží... na spoustě věcí.
Pokud máte nějaké skriptování na serveru (jmenovitě třeba PHP), tak to lze udělat celkem snadno. Pokud ne, nebo to nechcete použít, tak je situace o trochu horší. Umí to třeba apache, ale nastavení není zcela jednoduché a mnohdy to bez patřičných práv nebude vůbec možné. Třeba by stačilo stránku zašifrovat? |
||
markétice Profil |
#3 · Zasláno: 9. 12. 2004, 22:38:36
To znamená?
Jak? |
||
oktam. Profil * |
#4 · Zasláno: 10. 12. 2004, 00:40:34
<form>
<input type=text name=heslo> <input type=submit> </form> <?php $i_heslo = 'helena'; if ($i_heslo == $_GET['heslo']) { echo 'spravne heslo'; } else { echo 'nespravne heslo'; } ?> |
||
Yuhů Profil |
#5 · Zasláno: 10. 12. 2004, 01:08:11
|
||
Časová prodleva: 4 dny
|
|||
Celebi Profil |
#6 · Zasláno: 13. 12. 2004, 17:55:23
Když už se tu objevil tento dotaz, mohl bych se zeptat, jestli lze dát více možností hesel?
<form> <input type=text name=heslo> <input type=submit> </form> <?php $i_heslo = 'helena', $i_heslo = 'celebi'; if ($i_heslo == $_GET['heslo']) { echo 'spravne heslo'; } else { echo 'nespravne heslo'; } |
||
Palidi Profil |
#7 · Zasláno: 13. 12. 2004, 19:40:04
Více hesel jde - ale musíš si je dát do pole a to postupně projít. Nebo je mít v databázi. Nebo viz níže.
Pokud už máš PHP je možné použít příslušnou hlavičku (jelikož to nemá Yuhů v tom odkazu tak to sem hodím). Varianta pro více uživatelů (každý má jméno a heslo ale koneckonců nemusíš jméno kontrolovat), nejsou v poli ani v databázi ale testují se jeden po druhém (jo a ještě je popřípadě potřeba upravit proměnné - takhle jsou vidět jen při konfiguraci PHP se zapnutým register_globals) : if (!IsSet($PHP_AUTH_USER)) { header("HTTP/1.0 401 Unauthorized"); header("WWW-Authenticate: BASIC realm=\"Tady je název zóny který se tomu co se přihlašuje ukáže\""); echo "Přístup k tìmto stránkám je vázán heslem"; exit; } $user=""; if (($PHP_AUTH_USER=="helena") and ($PHP_AUTH_PW=="hesloheleny")) $user="helena"; if (($PHP_AUTH_USER=="celebi") and ($PHP_AUTH_PW=="heslocelebiho")) $user="celebi"; if ($user=="") { header("HTTP/1.0 401 Unauthorized"); header("WWW-Authenticate: BASIC realm=\"Tady je název zóny který se tomu co se přihlašuje ukáže\""); echo "MUSITE ZNAT HESLO PLATNEHO UZIVATELE"; exit; } echo "přihlášený uživatel $user"; Tahle autorizace má své výhody a nevýhody. Pokud to dáš na začátek všech scriptů nemusíš se o nic jiného starat. Nemusíš si nikam ukládat cookies a podobně. Dá se na to přistupovat i pomocí zadání jména a hesla do url http://jmeno:heslo@www.nejakyveb.cosi/stranka.php (akorát poslední verze IE tohle blokuje). Trochu problém je s odhlášením - zatím jsem nepřišel na metodu která by všechny browsery donutila zapomenout heslo - pomůže jedině zavřít všechny okna. Pokud to myslíš s tím zaheslováním vážně je nutno použít https protokol. Viz Yuhův text. Stejně tak je základní zásada zabezpečení že administrátor nesmí mít možnost přečíst heslo. Taky když si někdo přečte tenhle script tak hned ví všechny hesla. Takže je dobré ho zabezpečit pomocí MD5 nebo jiného algoritmu. Ve scriptu by pak dotaz vypadal např. takto : (crypt($PHP_AUTH_PW,"hl")=="hlATVYNb9aUv3") Ten podivný řetězec vyrobíš pomocí crypt z toho hesla co tam chceš mít, zobrazíš si ho a zapíšeš. Efektivnější je to pochopitelně pokud máš hesla v databázi. Z toho řetězce nikdo heslo zpět neuhodne. PS: pokud někdo umíte tuhle autentizaci dokonale použít (včetně odhlášení) tak to sem napište. |
||
22k Profil * |
#8 · Zasláno: 14. 12. 2004, 12:03:58
Celebi to je trosku blbost ne? TO cos napsal , tak mu to vezme jen to druhy heslo .... ne obe
|
||
Jan Tvrdík Profil |
#9 · Zasláno: 15. 12. 2004, 14:37:11
Celebi samozřejmně, že to jde. Vypadalo by to asi takhle:
<form method="post"> PS: Možná tu mám někde chybu, protože to píšu v rychlost :-) |
||
Celebi Profil |
#10 · Zasláno: 16. 12. 2004, 15:11:23
Díky. Moc mi to pomohlo.
|
||
magnum Profil * |
#11 · Zasláno: 16. 12. 2004, 22:26:01
Ahoj !
JPW citam uz velmi dlho ... este ako modemista ked som si to tahal v zip-e ;) ale toto forum citam prvy krat a hned by som mal 1 dotaz. A to ze co testujete na zaciatku kazdej stranky cookie (ved sa da sniffovat) alebo si odovzdavate v poste session id pripadne ip adresu alebo to aj kombinujete ? Sam take stranky pisem a daval som to cez cookie (aj ten traffic nieco stoji) aj cez post aj kombinaciou ale nikdy som nevidel cudzie riesenie a teda netusim ci to robim dobre a ci sa da aj inak ... Palidi: Este k tej autorizacii neviem ci to dobre chapem tak len na potvrdenie toto "header("WWW-Authenticate: BASIC realm=\"Tady je název ...\"");" sposobi vypitanie si hesla od uzivatela a zapisanie premennej $PHP_AUTH_USER a $PHP_AUTH_PW ... ... ak ano tak je treba tieto premenne posielat nejakym sposobom dalej ? Vdaka ! PS sa ospravedlnujem za diakritiku a ... ale som to az teraz precital a uz to nejdem prepisovat, v tychto veciach som vykopavka (mp3 pocuvam cez mpg123 :) ) a klavesnicu prepnem na SK len raz za tyzden ... :) nabuduce sa urcite polepsim ... |
||
Palidi Profil |
#12 · Zasláno: 16. 12. 2004, 23:12:51
magnum: ano, tento header způsobí že browser vyzve uživatele k zadání hesla. Při dalším průchodu dostaneš heslo v těch dvou proměnných.
Browser si toto heslo pamatuje a vždy ho znovu posílá sám. Zapomene ho až při zavření všech oken. Teoreticky by ho měl zapomenout v okamžiku kdy mu znovu pošleš tuto hlavičku (i když heslo je správné) ale tohle moc nefunguje. Jinak k těm cookies - browser by je měl automaticky poslat při dotazu na stránku. Těch dat není tolik. Cokkies i post (popř. get) mají každý své výhody a nevýhody. IP se používá spíše jen pro kontrolu. Postavit autentifikaci na IP nejde - pokud jsou uživatelé za proxi tak je podle IP nerozlišíš. Ohledně odchycení dat - ano, pokud nepoužíváš https je odchycení hesla možné, s https už ne - posílá se zakryptovaně. |
||
thingwath Profil * |
#13 · Zasláno: 16. 12. 2004, 23:34:05
S https se dá taky pokusit o nějaké man in the middle útoky, ale to už dá dost práce a není to nic jednoduchého. Cookies podle mého pro běžné nenáročné použití úplně stačí, ve spolupráci se sessiony je to navíc i celkem jednoduché napsat.
|
||
Jan Tvrdík Profil |
#14 · Zasláno: 17. 12. 2004, 22:51:39 · Upravil/a: Jan Tvrdík
Já jsem to vyřešil takhle:
<html> PS: Tohle by mělo byt už na 100%. |
||
Časová prodleva: 6 měsíců
|
|||
jonáš Profil |
#15 · Zasláno: 5. 6. 2005, 15:13:01
Víte někdo, jak by měl vypadat kód na odhlášení se, když mam HTTP Autentizaci?
A aby to fungovalo v IE 6.0
děkuju Jon |
||
Časová prodleva: 3 dny
|
|||
mikoran Profil * |
#16 · Zasláno: 8. 6. 2005, 17:12:56
ještě k těm jednodušším zaheslováním.jsem amatér a mám takový jednodušší stránky.teprv se to učím,ale můj problém je jasný.chci, aby byla třeba jenom jedna stránka zaheslovaná.prosím,napiště mi někdo KONKRETNI příklad.nějak nechápu, kam se má psát ten html soubor,který je "tajný".omlouvám se za svoji nechápavost,ale každý jednou úplně začíná...jak byste mi to doporučili,aby to bylo JEDNODUCHE a POCHOPITELNE pro amatery.děkuju moc
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0