Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Login na web pomocí sociálních sítí - uložení dat do cookie

Ahoj, budu na web implementovat přihlašování pomocí FB, tw, linkedIn a google....

Přihlašování mi už mi funguje...získaná data o uživateli a hlavně tokeny si ukládám do session...

Ale protože nechceme používat session kvůli velké návštěvnosti webu - protože by se tvořilo spousty session souborů na serveru, tak by mě zajímalo, zda k tomu mohu použít cookie a access tokeny uložit do nich (třeba nějak posolené), nebo to není bezpečné a mám použít session, případně něco jiného...případně tokeny uložit do db a do cookie dát jen id usera?

Díky

Předmět Autor Datum
Ale protože nechceme používat session kvůli velké návštěvnosti webu - protože by se tvořilo spousty…
los 03.06.2017 09:33
los
no dle google analytics je denní návštěvnost cca 90 000... Časté ale je, že user navštíví náš web 1x… poslední
n.u.r.v. 05.06.2017 10:05
n.u.r.v.

Ale protože nechceme používat session kvůli velké návštěvnosti webu - protože by se tvořilo spousty session souborů na serveru

Toto tvrdenie nedáva zmysel, máš ho niečím podložené? Množstvo session súborov má minimálny dopad na výkonnosť. Session súbory sa zvyknú nepoužívať kvôli iným dôvodom (napr. load balancing). Ďalšia vec je, že session môžeš štartovať len pre prihlásených používateľov. Z celej tvojej otázky mám pocit, že tá veľká návštevnosť až taká veľká nebude. Nekomplikujete si náhodou veci tým, že extrémne preceňujete záťaž, ktorú potrebujete zvládnuť?

Tak či tak budeš potrebovať používateľovi nastaviť do cookie nejaký token - buď ho vygeneruje tvoja aplikácia (či už ako PHPSESSID alebo si ho vygeneruješ sám, prípadne pomocou nejakého frameworku), alebo to bude priamo access token od niekoho iného. Čo sa týka bezpečnosti, tak na to je jednoduchá odpoveď. V prípade, že sa útočníkovi podarí získať token vygenerovaný tvojou aplikáciou, tak útočník získa dočasný prístup do tvojej aplikácie. Ak bol ten token vygenerovaný niekým iným, tak získa trvalý prístup do tvojej aplikácie a aj k tomu niekomu inému. Takže z tohto pohľadu je jednoznačne lepšie, keď použiješ vlastný token. Na druhú stranu, ak má byť tým tokenom len nejaký ľahko uhádnuteľný identifikátor používateľa, tak to potom fakt radšej použi ten token vygenerovaný niekým iným.

no dle google analytics je denní návštěvnost cca 90 000... Časté ale je, že user navštíví náš web 1x, provede registraci/login přes např. FB, ale pak už se na web nevrátí. A tak se mi zdálo, že se bude tvořit spousty zbytečných souborů na serveru apod...

Ještě mě napadla jedna varianta - po registraci a loginu přes soc. síť se u nás bude zakládat účet, takže by stačilo, do cookie uložit, že user je přihlášen + jeho ID a nějaký hash který mu byl při založení vygenerován.

A pokud by přistupoval do nějaké "citlivé" části webu (např. nastavení/správa účtu), tak by byl ještě požádán o heslo které při registraci zadal...

Myslím že podobně to má třeba mall.cz - tam se user také jeví jako přihlášený (v záhlaví je jméno apod...), ale např. při přístupu do faktur je potřeba zadat přihlašovací údaje

Zpět do poradny Odpovědět na původní otázku Nahoru