Връзка с поддръжката

Отговаряме по имейл, обикновено до два дни.

Google reCAPTCHA проверява това изпращане срещу злоупотреби; данни се изпращат към Google. Скриптът се зарежда само когато този формуляр бъде отворен.

← Всички публикации

Защо списъкът с изключения не е хеширан

Изграждането на сайт означава да го отваряте двайсет пъти на ден. При брояч с четирийсет посетители месечно половината статистика е самият автор. Затова има настройка: не брой посещенията от собствения ми адрес.

Навсякъде другаде в тази услуга адресите се хешират с тайна сол и дата, а самият адрес никога не стига до хранилището. На това едно място той се пази точно както е въведен, в явен вид. Това е съзнателно решение и заслужава да бъде казано на глас, вместо да се чака някой да го открие.

Вариантът, който беше изпробван пръв

Първата реализация пазеше контролна сума на адреса, в съответствие с всичко останало. Работеше, пазеше по-малко и беше почти безполезна: повечето домашни връзки получават нов адрес всеки ден. Изключването беше вярно в момента на задаването и безполезно на следващата сутрин.

Това, което оцелява при ежедневната смяна, е диапазонът — обикновено /24 или /16 на доставчика, който остава същият, докато последната част се сменя. А диапазон не може да се сравнява като контролна сума. Хеширането нарочно унищожава подредбата, а „в този диапазон ли е този адрес“ е въпрос за подредба. Няма хитър начин да се заобиколи това; двете изисквания сочат в противоположни посоки.

183.10.1.7283.10.1.94383.10.1.203сменя се всеки деностава същатаконтролната сума унищожава подредбата — а „в този диапазон ли е това“ е въпрос за подредба

Затова диапазонът се пази както е въведен, нормализиран, заедно с двете си граници по шестнайсет байта всяка, и едно-единствено BETWEEN решава. IPv4 се записва във формата на IPv6, така че двете семейства да са с еднаква ширина и едно сравнение да обхваща и двете.

Защо този компромис е приемлив тук

Това, което се пази, е собствената мрежа на оператора, въведена от него, показвана обратно на него и изтриваема от него по всяко време. Това не е адрес на посетител. Политиката за поверителност казва същото със същите думи, защото алтернативата — да описваме услугата като хешираща всичко и тихо да изключваме това — би била твърдение, вярно само в общи линии, а такова струва по-малко от никакво твърдение.

Ограничението е десет записа на брояч: достатъчно за дома, офиса и мобилния телефон и достатъчно малко, за да не може списъкът да се превърне в хранилище за адреси с общо предназначение.

Вторият вид — за неща, които се движат

Част от трафика има стабилна идентичност и нестабилен адрес: монитор за достъпност, програма за чат, която изтегля преглед на връзка, услуга за проверка. Нито един диапазон не ги улавя.

За тях изключването вместо това търси част от идентификатора на браузъра. Въвеждането на uptimerobot улавя целия низ, който той изпраща. Минимумът е четири знака, защото фрагмент от две букви би се срещал в почти всеки идентификационен низ и би изключил брояча напълно.

Общият извод

Дизайнът за поверителност е набор от компромиси и интересните места са там, където някое правило е трябвало да се огъне. Правила, които никога не се огъват, обикновено означават, че никой още не ги е изпитал срещу реално изискване.

Това, което трябва да се избягва, е правилото да се огъва тихо. Хеширано поле, което всъщност не е хеширано, но е описано в документацията, сякаш е, е по-лошо от обикновено поле, описано просто — то харчи доверие, което не е спечелило, и рано или късно ще бъде открито от някой, който не е очаквал, че ще трябва да проверява.

Реклама