HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Cookie funkciója, használata


ASP.NET 3. rész

Példaprogram letöltése

15792 bájt

Napjaink Webes alkalmazásai számtalan információt gyűjtenek az alkalmazás oldalaira látogatóról. Eltárolják az utolsó látogatás időpontját, rögzíthetik a gyakran látogatott szekciókat, a megadott felhasználónevet, és még sok egyéb mást. Ezeket az információkat legegyszerűbben úgy raktározhatják el, hogy egy vagy több cookie-t elküldenek a felhasználói számítógépre, így a legközelebbi látogatáskor már a felhasználóra jellemző beállítások fogadhatják, vagyis az oldal testre szabható. A cookie-k készítésének és használatának módját mutatjuk most be cikkünkben.

Mellékelt példa megnyitása előtt szükséges egy ASPNET03_B nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez futtassa le a mellékelt CreateVD.js parancsállományt.
A cookie egy olyan speciális állomány, mely a kliens gépén tárolódik. Ebben tetszőleges adatokat helyezhetünk el, és amikor ismét ugyanarra a weblapra látogat a felhasználó, akkor alkalmazásunk megkapja az itt tárolt adatokat automatikusan. Így eltárolhatunk például felhasználói nevet és jelszót, vagy azt az információt, hogy mikor járt utoljára nálunk a felhasználó, így ezeket a következő látogatáskor megtudhatjuk. Ennek a módszernek persze van egy nagy hátránya: az információ a számítógéphez és nem a tényleges személyhez kötött. Ha a felhasználónk egy másik számítógépről látogatja meg web helyünket, akkor nem kapjuk meg a már tárolt cookie-t és ugyanez a helyzet, ha mondjuk újratelepítette az operációs rendszerét a saját gépén, és ezzel a már összes tárolt cookie elveszett. Ennek ellenére sok esetben nagyon hasznos és jól használható technika.
A cookie fizikailag a C:\Documents and Settings\aktuális felhasználó\Cookies, illetve a C:\Windows\Cookies könyvtárban kap helyet operációs rendszer típusától függően. Ennek pontos helye lekérdezhető a rendszertől, ha esetleg szükségünk lenne rá. Ebben a könyvtárban számos TXT típusú állományt fogunk találni attól függően, hogy már hány olyan Web helyet látogattunk meg, amely elhelyezett a gépünkön cookie állományt.
Amikor tehát a kliens a böngészőjébe a mi URL címünket adja meg, akkor a gépe ellenőrzi, hogy ehhez a Web helyhez van-e már cookie állomány tárolva, ha igen, akkor annak tartalmát is a kérés mellé csatolja. Így amikor a webes alkalmazásunk megkapja a kliens kérését, melyet a Request property-n keresztül kiolvashatunk, akkor ott már szerepelni fog a cookie állományok tartalma, így ezt rögtön feldolgozhatjuk.
A HttpRequest objektum Cookies property-jén keresztül elérhető osztály neve HttpCookie, melynek jellemző property-jei a következők:
Expires
Osztály: HttpCookie
Public Property Expires As DateTime
A property-ben adható meg a cookie lejáratának dátuma.
HasKeys
Osztály: HttpCookie
Public ReadOnly Property HasKeys As Boolean
Lekérdezhető, hogy a cookie-nak vannak-e alkulcsai.
Name
Osztály: HttpCookie
Public Property Name As String
Visszaadja a cookie nevét.
Path
Osztály: HttpCookie
Public Property Path As String
Lekérdezhetjük, vagy megadhatjuk a cookie elérési útvonalát. Ezt akkor használhatjuk, ha az alkalmazás egy oldalához szeretnénk rendelni a cookie-t.
Secure
Osztály: HttpCookie
Public Property Secure As Boolean
Jelezhető, hogy a cookie biztonságos átvitel keretein belül mozogjon a szerver és a kliens között.
Value
Osztály: HttpCookie
Public Property Value As String
Az adott cookie értéke adható meg, vagy tudható meg innen.
A mellékelt alkalmazás három weblapot tartalmaz, melyben az első kapja a kérést, és ellenőrzi, hogy a két cookie jelen van-e a kérésben. A cookie-k neve BackColor, és LastVisit. Az első a WebForm12.aspx lap háttérszínét, míg a másik a felhasználó utolsó látogatásának időpontját tárolja. Amennyiben a cookie-k még nem léteznek a kliensnél, akkor a kérést a Webform3.aspx lapra irányítjuk, ahol lehetőség van egy színt kiválasztani. Itt adjuk ki a cookie-kat.
If (Not Request.Cookies("BackColor") Is Nothing) And (Not Request.Cookies("LastVisit") Is Nothing) Then
  Response.Redirect("WebForm2.aspx")
Else
  Response.Redirect("WebForm3.aspx")
End If
Amennyiben a cookie-k léteznek, akkor a felhasználó egyből a WebForm2.aspx lapra juthat.
A WebForm3.aspx lapon ellenőrizzük a cookie-kat. Amennyiben az adott cookie létezik, akkor töröljük a Cookies kollekcióból, és létrehozunk egy újat.
If (Not Request.Cookies("BackColor") Is Nothing) Then
  Request.Cookies.Remove("BackColor")
End If
Az egyik új cookie Value értéke lesz a listában kiválasztott szín karakterlánca.
Dim cookie01 As New HttpCookie("BackColor")
cookie01.Value = DropDownList1.SelectedItem.ToString()
cookie01.Expires = DateTime.Now.AddDays(10)
Response.Cookies.Add(cookie01)
A kollekcióhoz kell adnunk a cookie-kat. A műveletek végén a WebFom2.aspx lapra navigálunk. A lapon a BODY elem HTML kódjában elhelyezett ASP betéttel érhetjük el, hogy a SetSytle metódust futási időben meghívva beállítsuk a lap háttérszínét.
<body bgColor="<%=SetStyle()%>" ...>
A SetStyle metódusban lekérdezzük a Value értéket, majd visszaadjuk.
Dim cookie As HttpCookie
cookie = Request.Cookies("BackColor")
If Not (cookie Is Nothing) Then
  Return cookie.Value
...
Az utolsó látogatás dátumát megjelenítjük az egyik címkén. A lap tehát a felhasználó által beállított információt tudja használni a megjelenítés testre szabásához.
A cookie-ba belepillantva a következő adatokat kaphatjuk.
BackColor
Yellow
localhost/
1024
783197056
29601064
2258956608
29599052
*
LastVisit
2003.11.07. 17:30:59
localhost/
1024
783197056
29601064
2259266608
29599052
*

Cikksorozat

#IDKategóriaCikk címeSorozat
2591WindowsTippek és trükkök - RAS - Modem csengetési szám állítása1. rész
2622WindowsTippek és trükkök - Program futtatása más felhasználóként2. rész
2640WindowsA Windows ikonméretének megváltoztatása és Windows 2000 Asztaltémák3. rész
2657WindowsTippek és trükkök - Internet Explorer4. rész
2667WindowsTippek és trükkök5. rész
2684WindowsAlapértelmezések állítása, telepítési fájlok helye, intéző nézetek6. rész
2696WindowsBiztonsági trükkök7. rész
2702WindowsWindows XP trükkök8. rész
2729WindowsWindows 2000 és XP tippek, trükkök9. rész
2757WindowsRegistry trükkök10. rész
2784WindowsTippek, trükkök11. rész
2829WindowsTippek, trükkök12. rész
2889WindowsWindows XP tippek13. rész
2909WindowsTippek Windows XP-hez14. rész
2919WindowsWindows tippek15. rész
2924WindowsWindows tippek16. rész
2963WindowsWindows tippek17. rész
2973WindowsWindows Tippek18. rész
2981WindowsWindows tippek19. rész
2990WindowsTippek-trükkök20. rész
3027WindowsIIS tippek21. rész
3034WindowsWindows XP tippek-trükkök22. rész
3088WindowsWindows 2000/XP tippek, trükkök23. rész
3133WindowsWindows XP tippcsokor24. rész
3140WindowsWindows XP tippek, trükkök25. rész
3152WindowsXP és IIS tippek - trükkök26. rész
3158WindowsWindows XP tippek, trükkök27. rész
3168WindowsTippek, trükkök28. rész
3170WindowsRegistry trükkök29. rész
3179WindowsTippek, trükkök30. rész
3197WindowsWindows XP tippek, trükkök31. rész
3205WindowsTippek, trükkök32. rész
3214WindowsTippek, trükkök33. rész
3223WindowsTippek, trükkök34. rész
3233WindowsTippek, trükkök35. rész
3271WindowsTippek, trükkök36. rész
3307WindowsTippek, trükkök37. rész
3370WindowsTippek, trükkök38. rész
3399WindowsTippek, trükkök39. rész
3510WindowsTippek, trükkök40. rész
3611WindowsHardverrel kapcsolatos tippek, trükkök41. rész
3668WindowsRegistry trükkök42. rész
3711WindowsTippek, trükkök43. rész
3771WindowsTippek, trükkök44. rész
3801WindowsTippek, trükkök45. rész
3831WindowsTippek, trükkök46. rész
3891WindowsTippek, trükkök47. rész
3921WindowsTippek, trükkök48. rész
3981WindowsTippek, trükkök49. rész
4041WindowsTippek, trükkök50. rész
4071WindowsTippek, trükkök51. rész
4151WindowsTippek, trükkök52. rész
4171C#Tippek, trükkök53. rész
4211WindowsTippek, trükkök54. rész
4251WindowsTippek, trükkök55. rész
4281WindowsTippek, trükkök56. rész
3589DelphiTippek, trükkök57. rész
3718DelphiTippek, trükkök58. rész


Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |