Jak na koláčky (cookies) pomocí ASP
Jistě jste si při pohybu po Internetu všimli, že server, kde jste již kdysi byli, ví o vaší činnosti na něm. Například jste hlasovali v anketě a podruhé již nemůžete. Za tohle můžou cookies a v dnešním článku se jim podíváme na zoubek.
<% if Request.Cookies("posledni_navsteva")="" then Navsteva="Dnes jste tu poprvé" Response.Cookies("posledni_navsteva")=now() else Navsteva="Vaše poslední návšteva byla dne: "&Request.Cookies("posledni_navsteva") end if %> Cookieje jednoduchý textový soubor ukládaný na počítač návštěvníka našeho webu, t.j. na počítač který se připojil k serveru. Pomocí něj se ukládají důležité údaje pro činnost webové aplikace. Cookies se v hojné míře používají v e-commerce, kde se vám do cookies ukládá například obsah nákupního košíku. To, jaké údaje a kdy se uloží určíme pomocí ASP skriptu.
Mnoho lidí si Cookie vypíná, protože slyšeli, že Cookies jsou nebezpečné a šíří se pomocí nich viry. Nebojte se, Cookie jsou věc naprosto bezpečná a o šíření virů pomocí Cookienemůže být ani řeč. Díky této fámě přicházíte o možnosti, které vám moderní weby poskytují a to sice personalizaci, kdy máte možnost si nastavit, co se vám na webu bude přednostně zobrazovat. Ano – jde to vyřešit i jinak a to například s pomocí databází a shromaždováním informací na serveru a pak následným přihlašováním k webu, ale proč nepoužít cookies?
Výhody Cookies
Pomocí Cookies můžeme ukládat a zpětně využívat velmi prospěšné informace. Můžeme například zaznamenat údaje o uživatelské personalizaci webu a při dalších návštěvách je zpětně využívat.
Nevýhody Cookies
Co můžeme s Cookies dělat
Zapisování Cookies
Kolekce Cookies z objektu response umožňuje vašim ASP aplikacím zapisovat informace na klientské počítače. Pokud se pokusíte zapsat cookie, které ještě neexistuje, vytvoří se. Pokud existuje je hodnota přepsána.
|
Při zapisování Cookies lze nastavit i vlastnosti Cookies:
Jednoduché Cookies
|
Kde za Jmeno_Cookies dosadíme jméno proměnné a za Hodnota_Cookies její hodnotu.
Praktický příklad:
|
uloží na počítač návštěvníka Cookies Visitor s hodnotou Ondřej Kopp.
Dvoustupňové Cookies
Při použití subkey při zápisu cookies dostaneme jakési pole cookies. Tohoto můžeme s výhodou použít v rozsáhlé aplikaci pro udržení pořádku v cookies.
|
Rozdíl od jednoduchých Cookies je dvoustupňové použití názvu proměnné Cookies.
Praktický příklad:
|
Vlastnost Expires
Vlastnost Expires určuje jak dlouho se mají Cookies uchovat. Použití je možné jen na první úrovni, t.j. Response.Cookies(„Visitor“)(„First_Name“).Expires=#01/01/2005# zobrazí chybové hlášení.
Default nastavení je, že Cookies bude v počítači návštěvníka jen po dobu připojení a potom dojde k jeho odstranění. Pokud je zadaná hodnota Expires datum z minulosti, bude Cookies odstraněno také s ukončením spojení
Praktický příklad:
|
platnost tohoto Cookieje určená do 1.1.2005.
Vlastnost Domain
Při použití vlastnosti Domain je Cookie nastaveno tak, že klient pošle toto Cookie pouze stránkám, které jsou v doméně, jenž byla touto vlastností nastavena.
Vlastnost Path
Pomocí vlastnosti Path nastavíme Cookie tak, aby je klient posílal pouze stránkám, které mají virtuální cestu, která je nastavena v Cookies pomocí path.
Vlastnost Secure
Pomocí vlastnosti Secure nastavíme Cookie tak, že klient toto Cookie neodešle, pokud nepoužívá Secure Sockets Layer (SSL). Tím se velmi sníží pravděpodobnost prozrazení citlivého cookie.
Pozor na chyby při používání Cookies
Protože pomocí Response.Cookies měníme obsah hlavičky odpovědí HTTP, musíme hodnoty Cookies nastavit dříve než server odešle klientovi značku <HTML>. To neplatí v případě, že se odpověď ukládá do bufferu a pak se se klientovi posílá najednou. Ukládání do buffer zapneme pomocí Response.Buffer=True
Špatné použití:
|
Správné použití:
|
V případě, že Response.Cookies použijete špatně, obdržíte následující chybovou zprávu.
|
Čtení Cookies
Cookies čteme jednoduchým použitím Request.Cookies a příslušného jména Cookies.
|
Praktický příklad:
|
Příklad nám uloží do proměnné visitor hodnotu Cookies Visitor.
Příklad na závěr
V příkladu si ukážeme jak na svých stránkách rozpoznat, zda-li je na nich návštěvník poprvé.
|
Výše uvedený kód umístíme před značku <HTML> nebo pomocí response.buffer=True zapneme zpracovávání stránky pomocí zásobníku (Buffer). Poté na místě, kde chceme, zobrazíme pomocí response.Write obsah proměnné navsteva.
|
Výsledek příkladu:
<%Response.write(navsteva)%>
To je vše, co se týká práce s Cookie pomocí ASP. V dalším článku na toto téma vám objasním práci s Cookie ve skriptech na straně klienta.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
4 tipy, jak na efektivní úsporu při rozjezdu podnikání
3. ledna 2023 -
AI v programování: Jak používat GitHub Copilot (část 1)
12. února 2024 -
Rychlost serveru: Klíč k lepšímu umístění ve vyhledávačích
7. června 2024
Nejnovější
-
Jak se chránit před podvody na internetu – část 2
14. října 2024 -
Doména .io v ohrožení: Co přinese předání Čagoských ostrovů?
10. října 2024 -
Jak se chránit před podvody na internetu – část 1
8. října 2024