Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem
WebHelp.pl Warsztat Artykuły Jak zabezpieczyć ciasteczka przed kradzieżą po stronie klienta?

Warsztat / Artykuły i tutoriale

Jak zabezpieczyć ciasteczka przed kradzieżą po stronie klienta?

Rafał Kukawski 30 listopada 2010 komentarze ()

Domyślnie przeglądarki udostępniają wszystkie ciasteczka dla danej strony we własności document.cookie. Stanowi to spore zagrożenie w momencie, gdy komuś uda się obejść zabezpieczenia serwisu i umieścić w nim własny kod (np. skrypt JS), który wyśle treść ciasteczek użytkowników do zewnętrznego serwera, co w najgorszym wypadku może prowadzić do przejęcia kont użytkowników przez atakującego.

Na szczęście niektóre przeglądarki pozwalają na ukrycie wybranych ciasteczek przed JavaScriptem. Wystarczy ustawić w momencie zapisu ciasteczka flagę HttpOnly.

PHP w swojej funkcji setcookie pozwala ustawić tę flagę. Poniżej przedstawiam sygnaturę funkcji.

Kod: Zaznacz cały
bool setcookie ( string $nazwa [, string $wartość 
    [, int $kiedy_wygasa = 0 
    [, string $ścieżka 
    [, string $domena 
    [, bool $bezpieczne = false 
    [, bool $httponly = false ]]]]]] )

Ustawienie flagi ogranicza się do przekazania wartości true jako ostatniego argumentu funkcji.

Kod: Zaznacz cały
setcookie('foo', 'bar', time() + 3600, '/', 'example.com', false, true);

Masz pytania lub wątpliwości? Odwiedź nasze forum dyskusyjne.

Rafał Kukawski

Programista, webmaster. Szczególnie upodobał sobie JavaScript i technologie klienckie, choć strona serwera i bazy danych nie stanowią tajemnicy. Tworzy też aplikacje na urządzenia mobilne. kukawski.pl.


Komentarze


HTML CSS JavaScript PHP bazy danych MySQL Flash grafika framework hosting domeny pozycjonowanie wordpress Facebook