Skip to content

Bezpieczeństwo ciasteczek

Dla zwiększania bezpieczeństwa danych na stronie powinno się stosować również zabezpieczenia cząsteczek. Są to atrybuty ciasteczek, a nie nagłówki HTTP jak w tym artykule na temat nagłówków.

3 atrybuty i dobre praktyki

  1. Atrybut Secure:

    Atrybut Secure w ciasteczku oznacza, że ciasteczko powinno być wysyłane tylko przez bezpieczne połączenia HTTPS. Jest to ważne zabezpieczenie, ponieważ gwarantuje, że ciasteczko będzie przesyłane tylko w sposób zaszyfrowany, co ogranicza ryzyko przechwycenia danych podczas transmisji. Przykład użycia: Set-Cookie: nazwa_ciasteczka=wartość; Secure HttpOnly:

  2. Atrybut HttpOnly: Atrybut HttpOnly oznacza, że ciasteczko jest niedostępne dla skryptów JavaScript. Zapobiega to próbom ataków XSS (Cross-Site Scripting), gdzie złośliwy skrypt próbuje odczytać lub modyfikować zawartość ciasteczka za pomocą JavaScript. Przykład użycia:

    Set-Cookie: nazwa_ciasteczka=wartość; HttpOnly Wartości te są używane jako atrybuty w nagłówku Set-Cookie, a nie jako osobne nagłówki HTTP. Ich zastosowanie w praktyce pomaga w poprawie bezpieczeństwa przesyłanych danych i ochrony przed atakami.

  3. Atrybut SameSite Atrybut SameSite pozwala kontrolować, czy ciasteczko powinno być wysyłane w żądaniach "cross-site". Ustawienia SameSite obejmują: Strict: Ciasteczko jest wysyłane tylko w przypadku żądań pochodzących z tej samej witryny. Lax: Ciasteczko jest wysyłane w żądaniach GET pochodzących z innych stron (na przykład przy kliknięciu linku), ale nie w żądaniach POST. None: Ciasteczko jest wysyłane w żądaniach z innych witryn. Wymaga ustawienia atrybutu Secure dla bezpiecznych połączeń HTTPS. Przykład użycia:

    Set-Cookie: nazwa_ciasteczka=wartość; Secure; HttpOnly; SameSite=Lax
  4. Ograniczone Czasowe Ważność: Ustal krótki okres ważności ciasteczka, zwłaszcza jeśli nie jest ono wymagane na stałe. Krótki czas ważności ogranicza okno potencjalnego nadużycia. Przykład użycia:

    Set-Cookie: nazwa_ciasteczka=wartość; Max-Age=3600; Secure; HttpOnly;