Zadejte hledaný výraz...

PHP – zapamatování cookies po přihlášení

Sashaa
verified
rating uzivatele
(18 hodnocení)
26. 12. 2021 23:38:30
Zdravím,
nevím jak mám nastavit (napsat) cookies, aby po zaškrtnutí políčka si mě prohlížeč zapamatoval a nemusel po každý se přihlásit...
Zde je můj kód, ale nefunguje, když se přihlásím, pak zavřu a otevřu prohlížeč, tak jsem znovu odhlášený.
Poradí někdo?
26. 12. 2021 23:38:30
https://webtrh.cz/diskuse/php-zapamatovani-cookies-po-prihlaseni/#reply1495707
Taps
verified
rating uzivatele
(118 hodnocení)
27. 12. 2021 12:52:28
Jde o to, že v první fázi musíš cookies uložit (což máš) a pak v druhé fázi je nutné kontrolovat zda dané cookies soubory existují a pokud ano, tak je načíst a provést následné operace (v tvém případě by se jednalo o možnost ověření přihlašovacích údajů)
Zkus se podívat např. na toto video https://www.youtube.com/watch?v=3jfBOD5Mw0Q
27. 12. 2021 12:52:28
https://webtrh.cz/diskuse/php-zapamatovani-cookies-po-prihlaseni/#reply1495706
Sashaa
verified
rating uzivatele
(18 hodnocení)
27. 12. 2021 23:15:22
Tak už jsem zjistil chybu... kod je v pořádku, chyba byla v napsaném  setcookie
protože když se soubory nenacházejí ve stejné složce, tak je třeba definovat, kam ten cookie ukládat.
Takže při dlouhém hádání jsem nakonec zjistil, že stačí přidat jen lomítko za kodem, tím je to vše vyřešené :)
27. 12. 2021 23:15:22
https://webtrh.cz/diskuse/php-zapamatovani-cookies-po-prihlaseni/#reply1495705
TomasX
verified
rating uzivatele
(4 hodnocení)
28. 12. 2021 09:19:09
tohle je dost nevhodné řešení, heslo se ti přenáší s každým požadavkem a je pro všechny strany viditelné. Do cookies se ukládá náhodný identifikátor a ten pak na straně serveru odkazuje na soubor (či záznam v databázi), kde jsou uloženy potřebné informace, zpravidla informace, že uživatel je přihlášen a heslo se ověřuje pouze v jediné fázi, při přihlášení, rozhodně by se nikde nemělo v čitelné podobě ukládat.
Český návod jak s tím pracovat je např. na http://www.pehapko.cz/programujeme-v-php/sessions
28. 12. 2021 09:19:09
https://webtrh.cz/diskuse/php-zapamatovani-cookies-po-prihlaseni/#reply1495704
Sashaa
verified
rating uzivatele
(18 hodnocení)
28. 12. 2021 15:16:53
Heslo z cookies dam pryč, heslo ověří jen session, cookies uloží jen id, nebo jméno, aby si zapamatovalo přihlášení v prohlížeči.
28. 12. 2021 15:16:53
https://webtrh.cz/diskuse/php-zapamatovani-cookies-po-prihlaseni/#reply1495703
hm
verified
rating uzivatele
(20 hodnocení)
28. 12. 2021 15:59:10
ne, pouzij session, ktera jsou na tohle v php pripravena, kdyz do cookies ulozis jen jmeno jako dukaz prihlaseni, tak se muzu prihlasit nza kohokoliv tim, ze si sam ulozim cookie do prohlizece s jeho jemenem, to same s id, ktere byva jen cislo co se pricita, tedy snadne uhodnout, to je samorzejme uplne spatne, tyhle data muzou byt nicmene ulozeny v session promenne, protoze ta se uklada na serveru a neni ji tedy mozno modifikovat z klientovi strany, klient ma ulozene jen nahodne neuhodnutelne id te session 
platnost session je nicmene vzdy zavreni prohlizece, takze pro trvale prihlseni by bylo idealni vygenerovat nejaky JWT ci jiny token/id ktery je nahodny a rika, ze dany uzivatel je prihlasen, nikdy ale nejde pouzit jen uzivatelske jmeno nebo id z databazoveho zaznamu, to je obrovsky bezpecnostni problem.  Beru, ze na nejakem malem webiku to nemusi nutne zpusobit zadnou paseku, ale jde spis o to, abys to pak nebral jako spravne reseni,protoze to spravne reseni neni. 
28. 12. 2021 15:59:10
https://webtrh.cz/diskuse/php-zapamatovani-cookies-po-prihlaseni/#reply1495702
Sashaa
verified
rating uzivatele
(18 hodnocení)
28. 12. 2021 17:03:14
Napsal Aleš Jiříček;1637327
ne, pouzij session, ktera jsou na tohle v php pripravena, kdyz do cookies ulozis jen jmeno jako dukaz prihlaseni, tak se muzu prihlasit nza kohokoliv tim, ze si sam ulozim cookie do prohlizece s jeho jemenem, to same s id, ktere byva jen cislo co se pricita, tedy snadne uhodnout, to je samorzejme uplne spatne, tyhle data muzou byt nicmene ulozeny v session promenne, protoze ta se uklada na serveru a neni ji tedy mozno modifikovat z klientovi strany, klient ma ulozene jen nahodne neuhodnutelne id te session 
platnost session je nicmene vzdy zavreni prohlizece, takze pro trvale prihlseni by bylo idealni vygenerovat nejaky JWT ci jiny token/id ktery je nahodny a rika, ze dany uzivatel je prihlasen, nikdy ale nejde pouzit jen uzivatelske jmeno nebo id z databazoveho zaznamu, to je obrovsky bezpecnostni problem.  Beru, ze na nejakem malem webiku to nemusi nutne zpusobit zadnou paseku, ale jde spis o to, abys to pak nebral jako spravne reseni,protoze to spravne reseni neni. 
Dobrá, proč tedy potom ty tutorialy ohledně cookies "remember me" login? Session mám vyřešené a funguje to. Jenže jakmile zavřu prohlížeč, tak se musím znova přihlásit. U Cookies, když ta data uloží v mezi paměti, tak jsou viditelné i pro jiné prohlížeče jiných uživatel? Já myslel že ta data cookies jsou viditelné jen pro mně - stejně jako session.
Pokud je tedy session lepším řešením, jistě na to musí být způsob, jak zapamatovat v prohlížeči skrze session... i kdyby se to ukládalo dočasně do databaze. 
Tyto funkce aplikují na Eshop - což z bezpečnostního hlediska to potřebují mít chráněné, ale po každý se přihlašovat do administrace mě přijde otravný a nepohodlný. 
Mimo jiné, přeci i zákazníci eshopu nebudou furt přihlašovat na svůj účet, když dali svůj souhlas s cookie...
Wordpress to pamatování řeší skrze cookies... 
"WordPress uses cookies to maintain login state. If a user is blocking cookies or clears their cookies, that will clear their login state for the site as well and they will have to log in again."
28. 12. 2021 17:03:14
https://webtrh.cz/diskuse/php-zapamatovani-cookies-po-prihlaseni/#reply1495701
TomasX
verified
rating uzivatele
(4 hodnocení)
28. 12. 2021 18:05:11
používat cookies ale neznamená, že do nich všechny informace uložíš. Cookies si představ jako lísteček, který dáš návštěvníkovi a on ho všude ukazuje a chodí s ním, může ho ztratit, může ho přepsat, doplnit a nemáš nad tím žádnou kontrolu, proto se do cookies nesmí ukládat žádné osobní informace, žádné důležité věci a v případě přihlášení se do nich uloží jen session_id hodnota a na serveru se spáruje s informacemi, které si tam můžeš bezpečně uložit, jako je jméno, stav přihlášení atd., přesně tak to i používá Wordpress.
28. 12. 2021 18:05:11
https://webtrh.cz/diskuse/php-zapamatovani-cookies-po-prihlaseni/#reply1495700
Pro odpověď se přihlašte.
Přihlásit