Autor | Zpráva | ||
---|---|---|---|
final Profil |
#1 · Zasláno: 26. 2. 2013, 17:16:46
Zdravím,
môže niekto zmeniť hodnotu cookie?príklad prihlásim užívateľa a do cookie uložím jeho meno, dokáže niekto toto meno zmeniť? Ak áno, ako tomu zabrániť? ďakkujem |
||
Radek9 Profil |
#2 · Zasláno: 26. 2. 2013, 17:25:38
final:
Ano, může. Cookies se ukládají u uživatele. Nijak tomu nezabráníš. Buď měj u něj uložené i heslo, nebo dávej tyhle věci do sessions. |
||
mzk Profil * |
#3 · Zasláno: 26. 2. 2013, 17:51:37
final:
„Ak áno, ako tomu zabrániť?“ třeba si do cookie ukládat ještě kontrolní hash a kontrolovat, jestli danné udaje sedí, a když by neseděli, tak uživatele odhlásit.. Radek9: „Buď měj u něj uložené i heslo,“ nevím jak to bylo myšleno, ale rozhodně bych heslo uživatele do cookie nedával.. |
||
Joker Profil |
#4 · Zasláno: 26. 2. 2013, 18:03:12
Je to jak píše Radek9 (tj. změnit to jde a zabránit tomu nejde), s jednou výjimkou: Do cookie by se určitě nemělo ukládat heslo.
Možné řešení je třeba vygenerovat autorizační token (což může být klidně třeba náhodný řetězec nebo číslo) a ten uložit do cookie (a jeho kontrolní kopii samozřejmě do databáze nebo někam). Ještě bezpečnější řešení by bylo udělat ten token závislý na konkrétním počítači/prohlížeči, třeba vygenerovat náhodný řetězec, spojit ho s identifikací prohlížeče (user-agent), z toho udělat MD5 a to uložit do cookie jako autorizační kód. A na serveru si uložit ten náhodný řetězec. Ověření by se dělalo tak, že se vezme řetězec z databáze, připojí k user-agentu, udělá MD5 a porovná proti tokenu. |
||
Radek9 Profil |
#5 · Zasláno: 26. 2. 2013, 18:04:54
mzk:
Myslím zahashované. Ale samozřejmě jsou mnohem bezpečnější možnosti. Třeba s tím klíčem. Podobně funguje session id. |
||
mzk Profil * |
#6 · Zasláno: 26. 2. 2013, 18:20:48
Radek9:
„Myslím zahashované.“ no záleží na Tobě, já bych tam nedával ani zahešované |
||
final Profil |
ďakujem všetkým, ešte otázka:
na viacerých stránkach som si všimol, že pokiaľ sa prihlásim tak v url sa objaví tiež náhodný token, majú to tam potom asi tak isto ako ste popísali nie? (pri logine sa uloží do db token, a potom sa už iba kontroluje) |
||
Joker Profil |
#8 · Zasláno: 26. 2. 2013, 20:44:59
final:
„v url sa objaví tiež náhodný token“ Možná, ale zejména pokud se jmenuje PHPSESSID, předává tak stránka ID relace (session). Cookie je na to (jak session ID, tak autorizační token) bezpečnější než URL, protože při předávání v URL ta hodnota bude i ve všech odkazech, které návštěvník někam zkopíruje. U špatně zabezpečeného webu pak stačí návštěvníka přimět aby mi poslal odkaz na nějakou stránku (což typický návštěvník nebude vnímat jako rizikové) a následně můžu nabourat jeho účet. |
||
Časová prodleva: 11 let
|
0