2026. szeptember 19., szombat

A böngésző-cookie-k (sütik) és a session-tokenek (munkamenet-azonosítók) feladata

Oktatási célra! A böngésző-cookie-k (sütik) és a session-tokenek (munkamenet-azonosítók) alapvető fontosságú technológiák, amelyek lehetővé teszik, hogy a weboldalak emlékezzenek rád, és zökkenőmentesen működjenek.  A session-token a biztonsági kulcs, a cookie pedig az a fiók a böngésződben, amibe ezt a kulcsot (és egyéb beállításaidat) elmented. A web alapvető protokollja (a HTTP) "állapotmentes", ami azt jelenti, hogy a weboldal minden egyes kattintásodat egy teljesen új, idegen látogató kéréseként kezelné. A cookie-k és tokenek ezen segítenek. Íme a részletes áttekintés arról, hogy mire jók és hogyan működnek:

1. Böngésző-cookie-k (Sütik)
A cookie-k kisméretű adatfájlok, amelyeket a weboldalak mentenek el a számítógépedre vagy telefonodra a böngészőn keresztül.
Bejelentkezve maradás: Megjegyzik, hogy már azonosítottad magad, így nem kell minden egyes aloldalra kattintva újra beírnod a jelszavadat.
Beállítások megjegyzése: Emlékeznek a nyelvi beállításaidra, a sötét/világos módra, vagy arra, hogy bezártál-e már egy felugró értesítést.
Kosár tartalmának megőrzése: Webáruházakban a süti tartja számon, miket pakoltál a kosaradba, miközben tovább böngészed a termékeket.
Követés és analitika: Segítenek a tulajdonosnak látni, hányan látogatják az oldalt (pl. Google Analytics), vagy a hirdetőknek személyre szabott reklámokat megjeleníteni (ezt teszik a harmadik féltől származó, ún. third-party sütik).

2. Session-tokenek (Munkamenet-azonosítók)
A session-token egy egyedi, titkos biztonsági kulcs (egy hosszú számsor vagy szöveg), amit a szerver generál, amikor bejelentkezel egy oldalra. Ez a token gyakran egy cookie-ban tárolódik a böngésződben.
Ideiglenes digitális belépőkártya: Úgy működik, mint egy fesztiválkarszalag. Amikor belépsz (felmutatod a jegyed/jelszavad), kapsz egy karszalagot (tokent). Ezután a pultnál már nem a jegyedet kérik, elég megmutatni a karszalagot.
Biztonság: Mivel a token folyamatosan változhat és lejárhat, a weboldalnak nem kell a tényleges felhasználónevedet és jelszavadat küldözgetnie a hálózaton minden egyes kattintásnál.
Munkamenet lezárása: Amikor rákattintasz a "Kijelentkezés" gombra, vagy ha sokáig tétlen vagy (például egy banki appban), a token érvénytelenné válik, így ha valaki hozzáfér a gépedhez, már nem tud a nevedben tevékenykedni.



-------------
Cookie-k lekérése automatizált böngészőből (Selenium)
--------------
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import time

# A Chrome böngésző beállítása és indítása
options = webdriver.ChromeOptions()
# options.add_argument("--headless") # Keresd a háttérben futtatáshoz (opcionális)

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)

try:
    # Navigálás a céloldalra
    driver.get("https://example.com")
    
    # Itt adhatsz időt a manuális bejelentkezésre, ha szükséges
    print("Várakozás az oldal betöltődésére (vagy bejelentkezésre)...")
    time.sleep(10) 

    # Az összes cookie lekérése
    cookies = driver.get_cookies()
    
    print("\n--- Megtalált Cookie-k és Session Tokenek ---")
    for cookie in cookies:
        print(f"Név: {cookie['name']}")
        print(f"Érték: {cookie['value']}")
        print(f"Domain: {cookie['domain']}")
        print("-" * 40)

finally:
    # Böngésző bezárása
    driver.quit()
------------------
Cookie-k kiolvasása a helyi böngészőből (browser-cookie3) Modern rendszereken ehhez a Python szkriptnek hozzáférést kell kapnia a rendszered kulcstartójához (Keychain / DPAPI) a dekódoláshoz.
-----------------
import browser_cookie3
import requests

def get_local_cookies():
    try:
        # Chrome cookie-k betöltése (helyettesíthető pl. firefox(), edge() függvényekkel is)
        cj = browser_cookie3.chrome(domain_name='.google.com')
        
        print("Sikeresen beolvasott cookie-k száma:", len(cj))
        
        for cookie in cj:
            print(f"Név: {cookie.name}")
            print(f"Érték: {cookie.value}")
            print(f"Domain: {cookie.domain}")
            print("-" * 40)
            
        return cj
    except Exception as e:
        print(f"Hiba történt a cookie-k olvasása során: {e}")
        print("Győződj meg róla, hogy a böngésző be van zárva, és a szkriptnek van jogosultsága az olvasáshoz.")

# Cookie-k lekérése
cookies = get_local_cookies()
----------------------

Nincsenek megjegyzések:

Megjegyzés küldése