Kontakt z pomocą

Odpowiadamy e-mailem, zwykle w ciągu dwóch dni.

Google reCAPTCHA sprawdza to zgłoszenie pod kątem nadużyć; dane trafiają do Google. Skrypt ładuje się dopiero po otwarciu formularza.

← Wszystkie wpisy

Dlaczego lista wykluczeń nie jest haszowana

Kto buduje swoją stronę, otwiera ją dwadzieścia razy dziennie. Przy liczniku z czterdziestoma odwiedzającymi miesięcznie połowa statystyki to ty. Dlatego jest ustawienie: nie licz wizyt z mojego własnego adresu.

Wszędzie indziej w tym serwisie adresy są haszowane z tajną solą i datą, a sam adres nigdy nie dociera do zapisu. W tym jednym miejscu stoi tak, jak go wpisałeś, otwartym tekstem. To decyzja świadoma i zasługuje na wypowiedzenie, a nie na zostawienie do odkrycia.

Wersja, którą próbowano najpierw

Pierwsza implementacja zapisywała sumę kontrolną adresu, spójnie z całą resztą. Działała, zapisywała mniej i była niemal bezużyteczna: większość łączy domowych dostaje nowy adres codziennie. Wykluczenie było poprawne, gdy je ustawiałeś, i bezwartościowe następnego ranka.

Co przeżywa codzienną zmianę, to zakres — zwykle /24 albo /16 dostawcy, które zostaje takie samo, podczas gdy ostatnia część się obraca. A zakresu nie da się porównać jako sumy kontrolnej. Haszowanie niszczy porządek celowo, a „czy ten adres leży w tym zakresie" to pytanie o porządek. Nie ma sprytnego obejścia; oba wymagania wskazują w przeciwne strony.

Zakres stoi więc tak, jak go wpisano, znormalizowany, obok swoich dwóch granic po szesnaście bajtów każda, a rozstrzyga pojedynczy BETWEEN. IPv4 zapisuje się w postaci IPv6, żeby obie rodziny miały tę samą szerokość i jedno porównanie pokrywało obie.

Dlaczego ta wymiana jest tu do przyjęcia

Zapisywana jest własna sieć operatora, przez niego wpisana, jemu pokazywana i przez niego w każdej chwili usuwalna. To nie jest adres odwiedzającego. Polityka prywatności mówi to samo tymi samymi słowami, bo alternatywa — opisać serwis jako haszujący wszystko i po cichu wyjąć to miejsce — byłaby tym rodzajem prawdziwego w zarysie twierdzenia, które jest warte mniej niż brak twierdzenia.

Limit to dziesięć wpisów na licznik: dość na dom, biuro i komórkę, na tyle mało, że lista nie może stać się ogólnym składem adresów.

Drugi rodzaj, dla tego, co się rusza

Część ruchu ma stałą tożsamość i zmienny adres: własny monitor dostępności, pobieracz podglądu z komunikatora, usługa sprawdzająca. Żaden zakres ich nie złapie.

Dla nich wykluczenie dopasowuje fragment identyfikacji przeglądarki. Wpisanie uptimerobot łapie cały ciąg, który wysyła. Minimum to cztery znaki, bo dwuliterowy fragment stałby w niemal każdej identyfikacji i wyłączyłby licznik zupełnie.

Punkt ogólny

Projekt prywatności to zestaw wymian, a ciekawe są te miejsca, gdzie reguła musiała się ugiąć. Reguły, które nigdy się nie uginają, zwykle znaczą, że nikt jeszcze nie przyłożył ich do prawdziwego wymagania.

Unikać należy uginania po cichu. Pole haszowane, które haszowane naprawdę nie jest, a w dokumentacji opisane tak, jakby było, jest gorsze niż pole jawne opisane jawnie — wydaje zaufanie, na które nie zapracowało, i w końcu znajdzie je ktoś, kto nie spodziewał się, że będzie musiał sprawdzać.

Reklama