В URL бывают не только параметры с понятным смыслом.
Есть значения, назначение которых легко предположить как отслеживание, например utm_source или gclid, но есть и id, token, cid, source, ref, session, которые трудно оценить только по виду.
Когда вы видите неизвестный параметр, опасно думать и "я не знаю, значит можно удалить", и "я не знаю, значит оставлю".
В анонимности важно разделять, нужен ли этот параметр для отображения страницы или он служит для идентификации пользователя и маршрута.
В этой статье разбирается, как читать неизвестные параметры URL и как принимать решение.
Что такое неизвестный параметр
Неизвестный параметр - это значение внутри URL, назначение которого трудно определить только по имени.
Например, такая строка:
sample.test/page?id=123&cid=abc&token=xyz
Здесь sample.test - строка для объяснения.
id=123 может быть ID статьи. Может быть ID товара. Может быть ID конкретного пользователя.
cid=abc может быть ID кампании. Может быть ID клиента.
token=xyz может быть временным правом доступа или значением, близким к сессии.
По одному имени решить нельзя.
Поэтому неизвестные параметры рассматривают как объект, где нужно "предположить смысл, проверить поведение и при необходимости не делиться".
Думать по классификации
Неизвестные параметры легче оценивать, если разделить их на несколько видов.
Вид
Пример
Обращение
Значение, нужное для отображения
id, page, q, category
При удалении может измениться содержание
Значение, похожее на отслеживание
cid, campaign, source, ref
Может быть не нужно для передачи
Значение, похожее на индивидуальный идентификатор
uid, user, visitor, client
Становится признаком, близким к пользователю или устройству
Значение, похожее на авторизацию или временную ссылку
token, session, sid, key
В первую очередь выбирать не публиковать
Непонятное длинное значение
случайные буквы и цифры
Осторожно, потому что может быть индивидуально выданным
Эта классификация не дает полного определения.
Но она безопаснее, чем вставлять URL без размышления.
Особенно осторожно обращаются со значениями вроде token, session, sid, key. Это может быть URL, связанный не с публичной ссылкой, а с состоянием входа или временным доступом.
Проверять, можно ли удалить
Неизвестные параметры проверяют, реально удаляя их.
Но если проверять только в обычном браузере, где вы вошли в аккаунт, можно ошибиться.
Порядок
Что проверять
Причина
1
Посмотреть имя параметра
Предположить, ближе ли он к отслеживанию, отображению или авторизации
2
Удалять по одному
Разделить значения, нужные для отображения страницы
3
Открыть в другом браузере
Уменьшить влияние и состояния входа
4
Открыть в состоянии выхода из аккаунта
Проверить, виден ли URL другим людям
5
Если остается неизвестное длинное значение, не делиться
Избежать индивидуальной ссылки
Если удалить все сразу, будет непонятно, какое значение было нужным.
Удаление по одному облегчает разделение нужных для отображения и ненужных значений.
Где неизвестные значения становятся опасными
Проблема неизвестного параметра не только в том, что само значение может быть читаемой персональной информацией.
Даже случайные на вид буквы и цифры внутри сервиса могут связываться с конкретным пользователем, рассылкой, приглашением, кликом или сессией.
Ситуация
Что происходит
Индивидуальная ссылка из письма
Значение может показывать, кому отправили письмо
Пригласительная ссылка
Иногда записываются пригласивший или приглашенный
Ссылка ограниченного доступа
Видит только тот, кто знает URL
Страница после покупки или заявки
В URL может оставаться информация, близкая к заказу или заявке
Админка или превью
Можно поделиться экраном, который не предназначен для публикации
Если поделиться таким URL через анонимный аккаунт, корреляция возникает на стороне URL, даже если сеть скрыта.
и не удаляют идентификаторы внутри URL.
Признаки, что делиться нельзя
Среди неизвестных параметров есть такие, где лучше избегать передачи еще до попытки удалить.
В следующих случаях лучше не пытаться насильно привести URL в порядок, а искать другую ссылку: публичную страницу или URL через официальную кнопку "поделиться".
Признак
Причина
Есть token, session, sid
Может быть близко к временному состоянию или авторизации
URL чрезвычайно длинный
Может содержать много индивидуального состояния или отслеживания
Открывается только при входе
Может быть личной страницей, невидимой другим людям
Есть слова, обозначающие управление, редактирование, превью
Это может быть не публичный URL
При удалении содержание сильно меняется
Значение тесно связано с содержанием страницы
В анонимности важно не считать неизвестное безопасным.
"Не понимаю, но, наверное, нормально" - опасное решение.
Частые заблуждения
О неизвестных параметрах есть частые заблуждения.
Первое: "Если это случайные буквы и цифры, значит смысла нет".
На практике именно случайные на вид значения часто используются внутри сервиса как индивидуальные идентификаторы.
Второе: "Если там нет моего имени, проблемы нет".
В анонимности проблема не только в имени. Индивидуально выданная ссылка, ID рассылки, ID приглашения и ID сессии связываются с журналами сервиса.
Третье: "Если укоротить URL, он безопасен".
Сокращенный URL только делает вид короче. Если в конечном URL остаются неизвестные параметры, проблема не исчезла.
Практическое решение
При виде неизвестного параметра действуют так.
Проверить, похоже ли значение на нужное для отображения
Значения, похожие на отслеживание, реферал или кампанию, считать кандидатами на удаление
Для token, session, sid, key в первую очередь выбирать не делиться
После удаления открыть заново в другом браузере
Если остается неизвестное значение, искать официальный URL для публикации
Такое решение может казаться хлопотным.
Но URL, которым делятся анонимно, является частью текста публикации.
Если вы перечитываете текст, нужно перечитать и URL.
Итоги
Неизвестный параметр URL - это значение внутри URL, назначение которого трудно определить только по имени.
Значения вроде id, cid, ref, token, session нужно проверять: связаны ли они с отображением страницы, отслеживанием, индивидуальной идентификацией или авторизацией.
Неизвестное значение нельзя сразу считать ни безопасным для удаления, ни безопасным для сохранения.
Удаляйте по одному, проверяйте в другом браузере или в состоянии выхода из аккаунта, уменьшайте значения, ненужные для передачи.
Особенно при значениях вроде token, session, sid, key в первую очередь выбирают не делиться.
Маленькие значения внутри URL могут связываться с журналами сервиса и временем доступа.
В анонимности важно не оставлять непонятные значения без внимания.
Связанные статьи
Отслеживание URL
Неизвестные параметры URL
Неизвестные параметры вроде id, token, cid, ref и session нужно проверять по назначению, потому что они могут быть нужны для страницы, отслеживания или индивидуального доступа.