HTTP-süti
A HTTP-süti (általában egyszerűen süti, illetve angolul cookie) egy információcsomag, amelyet a szerver küld a webböngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver felé irányított kérés alkalmával. A sütiket maga a webszerver hozza létre a böngésző segítségével a felhasználó gépén, ahol azok egy elkülönített könyvtárban kerülnek tárolásra. Lou Montulli, a Netscape Communications egykori alkalmazottja használta először a süti technikát a webes kommunikációban.
Tartalomjegyzék
Célja
A süti bármilyen, a kiszolgáló által meghatározott információtartalmat hordozhat. Az eljárás célja az állapot bevezetése az alapvetően állapotmentes HTTP tranzakcióba. Sütik hiányában minden egyes weboldal (vagy erőforrás) lekérése elszigetelt esemény, gyakorlatilag független a site többi oldalának lekérésétől.
Ha a böngésző visszaküld egy sütit, a kiszolgálónak lehetősége van összekapcsolni az aktuális kérést a korábbiakkal. Leggyakrabban egy adott weboldal regisztrált felhasználóinak azonosítására, „bevásárlókosár” nyilvántartására vagy látogatók nyomon követésére használják.
Sütit létrehozhat a kiszolgálón futó CGI-program és a böngészőben végrehajtott kliensoldali script (például JavaScript) is.
2015. október 1-től az EU-s jogszabályokhoz igazodva a hazai weboldalakon is kötelező a látogató beleegyezését kérni, ha weboldalunk cookie-kat helyez el a látogató gépén.
Az informatikus berkekben elhíresült törvény (2003. évi C. törvény az elektronikus hírközlésről 155. §) alapján általánosan elmondható, hogy ha weboldalunk cookie-kban tárol látogatói adatokat, például Google Analytics-el követi a felhasználó böngészését, hogy abból később anonim statisztikákat tudjunk készíteni, webshop kosár vagy bejelentkezés van rajta, akkor biztosan fel kell hívnunk rá a felhasználó figyelmét, hogy sütiket küldünk a gépére.
“Azzal, hogy részletesen leírjuk mire is használjuk a cookie-kat az oldalainkon, illetve figyelmeztetést küldünk a felhasználónak amit el kell fogadnia, mindent megteszünk, hogy megfeleljünk a törvénynek. Javaslom mindenkinek, hogy nézze át oldalait függetlenül attól, hogy a törvény szerintem még nem kiforrott, mert súlyos büntetésekre számíthat aki semmit nem tesz!” – Egy weboldalszerkesztő véleménye
Létrehozásának folyamata
- 1. A kliens gép egy HTTP kérést (request) küld a szerver felé.
-
- HTTP Request
- GET /index.html HTTP/1.1
- Host: www.example.org
- 2. A szerver létrehoz egy új felhasználói azonosítót, majd bejegyzi azt saját adatbázisába (example.org szerver létrehozza az 1234 felhasználói azonosítót, és eltárolja azt a saját adatbázisában).
- 3. A szerver egy http választ (response) küld vissza a kliens gépnek, benne az előzőleg létrehozott sütivel.
-
- HTTP Response + Set-Cookie: name=value; süti tulajdonságok:
- HTTP/1.1 200 OK
- Content-type: text/html
- Set-Cookie: example= 1234; Expires=Wed, 09 Jun 2021 10:18:14 GMT
- 4. A kliens eltárolja ezt a sütit. (example: 1234)
Használatának folyamata
- 1. A kliens újra kapcsolatba lép a szerverrel, és a http kéréshez már hozzácsatolja ezt a sütit is.
-
- HTTP Request+ Cookie: name=value
- GET /spec.html HTTP/1.1
- Host: www.example.org
- Cookie: name=value;
- Accept: */*
- 2. A szerver összeveti a kapott sütit az általa tárolttal, így egyszerre tudja autentikálni a felhasználót, és emlékezni a korábbi felhasználói választásokra és preferenciákra.
- 3. A szerver egy általános http választ (response) küld vissza a kliens gépnek, benne a karbantartott süti változattal.
- HTTP Response:
- HTTP/1.1 200 OK
- Content-type: text/html
- Set-Cookie: Expires=Wed, 09 Jun 2021 11:01:14 GMT
A fejléc tartalma
- Name (név): A süti neve
-
- Name= ebay
- Value (érték): A süti értéke, szövegben megadva
-
- Value= 1234
- Expires (lejárati idő): időpecsét, ameddig érvényes
-
- Expires=Wed, 13-Jan-2021 22:23:01 GMT
- Domain (domain név): a szerver ahonnan jött
-
- Domain= www.ebay.com
- Path (elérési út): az URL elérési út része, ahova visszajuthat
-
- Path= /httpgallery/cookies/
- Secure and HttpOnly (biztonságos kapcsolat)
-
- Logikai érték, hogy biztonságos kapcsolatot igényel-e
Cross site scripting
A cross site scripting egy olyan, crackerek által használt technika, amely az áldozatot az oldalba beillesztett egy-egy Javascript segítségével átirányítja egy másik, veszélyes oldalra, ahonnan a cracker már könnyen megszerezheti a felhasználó információit (IP-cím, stb.)[forrás?]