Звернутися до підтримки

Відповідаємо електронною поштою, зазвичай протягом двох днів.

Google reCAPTCHA перевіряє це звернення на зловживання; дані передаються до Google. Скрипт завантажується лише тоді, коли ви відкриваєте цю форму.

← Усі записи

Номери, які могли повернутися

Кожен лічильник тут має номер. Він стоїть у коді вставки, в адресі статистики і на стількох сторінках, на скількох власник його розмістив. Номери видаються так: береться випадковий між 100 і 9 999 999 999, і перевіряється, чи він не зайнятий.

Перевіряється одна таблиця.

Та, інша таблиця

Лічильники, які давно не фіксували відвідувань, переносяться до таблиці архіву. Це звичайне прибирання — воно тримає робочу таблицю малою, а запити до неї швидкими. 24 серпня 2026 року в архіві лежало 212 771 номерів, і жодного з них не було в таблиці, яку перевіряє генератор.

Отже, кожен із них міг бути виданий заново.

Проти десяти мільярдів можливих номерів це приблизно два відсотки зіткнень: приблизно один із п’ятдесяти нових лічильників дістав би номер, що належав комусь іншому. І це не абстрактні зіткнення. Лічильник потрапляє до архіву саме тому, що його сторінка затихла — але затихла сторінка не обов’язково видалена. Якщо стара вставка досі стоїть у якійсь забутій бічній колонці і ця сторінка отримує відвідувача, відвідування потрапляє в чужу статистику, на лічильник, створений роками пізніше.

У нас немає способу встановити, чи це вже сталося. Ніщо не відрізняє відвідування, яке прийшло цим шляхом, від будь-якого іншого.

Дві зміни

Генератор тепер перевіряє обидві таблиці. А видалення лічильника — яке від того самого дня власник може виконати сам — лишає надгробок: рядок, що складається з одного лише номера, щоб його ніколи не видали повторно. Видалення прибирає в одній транзакції дані з двадцяти таблиць і не зберігає копії, у чому й весь сенс видалення; номер — єдине, що має лишитися спаленим.

Чому це лишилося непоміченим

Генератор писався, коли таблиця була одна. Архів з’явився пізніше, з іншої причини, розв’язуючи інше завдання, і ніщо не пов’язало ці дві думки. Обидві частини були окремо правильні.

Таку форму має більшість подібних випадків. Не помилка, якої хтось припустився в конкретному місці, а наслідок, побачити який ніхто не стояв у придатній точці. Єдиний захист — іти шукати навмисно, і питання, яке знайшло цей випадок, було доволі звичайним: перш ніж будувати видалення — де ще живе номер лічильника?

Реклама