Autor | Zpráva | ||
---|---|---|---|
puzzle Profil |
#1 · Zasláno: 13. 3. 2011, 14:04:48
Ahoj
Měl bych takový dotaz co je lepší pro jazykové mutace SESSION nebo COOKIES, COOKIES se ukládá na server nebo do prohlížeče? A vyprchává po určité čase jako SESSION nebo ne? A ještě takový pod dotaz dá se v php nastavit, že se něco sputí přesně v tolik a tolik, nebo je potřeba použít javascript... pokud jen Javascript, jak nastavím, že bez Javascriptu se třeba nepřihlásím, díky za odpovědi |
||
TomasJ Profil |
#2 · Zasláno: 13. 3. 2011, 14:11:51 · Upravil/a: TomasJ
puzzle:
Obojí se ukládá k uživateli. Cookie vyprší, až mu skončí doba platnosti, kterou nastavíš. Na tvůj další dotaz, jestli se dá něco v tolik a tolik spustit, je Cron (nevím jak se s ním pracuje, najdi si o tom víc někde na netu nebo to je možná i tu). Session se smaže po zavření prohlížeče, dřív ne (aspoň mně to takto jede). „bez Javascriptu se třeba nepřihlásím“ JavaScriptem vypíšeš přihl. formulář, pokud nemá JS, nezobrazí se uživateli. Pak je html tag <noscript> který je párový. Jediné co mě štvě, je, že cookie se dá nastavit i javascriptem v adresním řádku a já nevím jak zabezpečit aby cookie bylo neplatné, když bude z JS. Proto používám raději sessions. |
||
cesilek Profil |
#3 · Zasláno: 13. 3. 2011, 14:54:10
Na jazykové mutace stačí cookies a jak píše Tomáš doba platnosti je podle tvého nastavení.
Session se ukládá na server, ale aby rozeznal jakému uživateli má data přidělit, ukládá si stejně rozpoznávací klíč k uživateli a to do cookie, nebo URL adresy. Zásadní rozdíl je v tom, že data uložená v cookies může uživatel jednoduše a libovolně měnit. Session může uživatel maximálně smazat, tím že se bude vydávat za někoho jiného. |
||
puzzle Profil |
#4 · Zasláno: 13. 3. 2011, 14:59:24
A jak nastavím dobu platnosti COOKIES?
|
||
Tori Profil |
#5 · Zasláno: 13. 3. 2011, 14:59:55 · Upravil/a: Tori
puzzle:
„dá se v php nastavit, že se něco sputí přesně v tolik a tolik, nebo je potřeba použít javascript“ Co chcete spustit? Aby se třeba ve tři ráno zálohovala databáze (cron), anebo aby se každý den mezi 11h a 13h na webu zobrazovala reklama nějaké restaurace (PHP a/nebo JavaScript). |
||
cesilek Profil |
#6 · Zasláno: 13. 3. 2011, 15:57:41
puzzle:
setCookie ("jmeno", "hodnota" , "čas"); Takhle nastavíš platnost na jednu hodinu: setCookie ("jazyk", "cz", time () + 3600) |
||
Radovan789 Profil * |
#7 · Zasláno: 13. 3. 2011, 16:01:51
puzzle:
Taky by se hodilo dodat že všechno co dokáže SESSION si můžeš vytvořit sám pomocí COOKIES a PHPčka, SESSION je pouze již hotové řešení. |
||
G3n3sis19 Profil |
#8 · Zasláno: 13. 3. 2011, 17:03:34
TomasJ:
„Obojí se ukládá k uživateli“ Já si až do teď myslel, že session (SID) se ukládá u uživatele a ten potom odešle s dotazem na stránku, kde pak server vybere session data podle toho id, a cookie je u uživatele? Můžete mi to vysvětlit? Z wiki jsem to moc nepochopil |
||
TomasJ Profil |
#9 · Zasláno: 13. 3. 2011, 17:18:17 · Upravil/a: TomasJ
G3n3sis19:
Při použití sessions se každému návštěvníkovi nastaví unikátní klíč a uloží se v podobě např. PHPSESSID s hodnotou nějakého hashe (unikátního klíče). Pak se na server ukládají jednotlivé sessions (ony data). Při zavření stránky se data relace (session) vymazají a cookie s unikátním klíčem taky. |
||
puzzle Profil |
#10 · Zasláno: 13. 3. 2011, 21:15:29
cesilek:
A co když to bude chtět neomezeně, třeba jak je tu na tom foru, že jak se přihlásíš pořád jsi přihlášený |
||
TomasJ Profil |
#11 · Zasláno: 14. 3. 2011, 06:28:45 · Upravil/a: TomasJ
puzzle:
Tady to taky není neomezené. Myslím, že to platí nějakých 14 dní. Nikdy pro cookie nenastavíš nekonečnou platnost. Možná tak maximálně půl roku, ale to pochybuji. Spíš tak měsíc až 2. |
||
cesilek Profil |
#12 · Zasláno: 14. 3. 2011, 06:39:06
TomasJ:
Běžně mám z některých stránek nastavenou platnost klidně do roku 2017, což pro "neomezené" přihlášení stačí bohatě. |
||
TomasJ Profil |
#13 · Zasláno: 14. 3. 2011, 14:52:21
cesilek:
To ano, ovšem ne všude to funguje. Mně to třeba pořád vyhazovalo chybu a když jsem nastavil platnost třeba měsíc až 2, šlo to jak mělo. |
||
Časová prodleva: 13 let
|
0