Autor Zpráva
final
Profil
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
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 *
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
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
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 *
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: