4 мин чтенияТуториалы

Как узнать, куда ведет короткая ссылка, не открывая ее

Разверните короткую ссылку безопасно: прочитайте заголовок Location одной командой, используйте предпросмотр от провайдера и узнайте, что каждый способ сообщает о вас другой стороне.

Marius Voß
DevRel · edge infra
Как развернуть короткий URL: чтение заголовка Location редиректа, чтобы увидеть настоящее назначение прежде, чем открывать ссылку

Чтобы узнать, куда ведет короткая ссылка, не загружая ее, запросите заголовки и остановитесь на этом:

curl -sI https://s.elido.me/ab12cd

Первая строка ответа - это статус, а Location: показывает настоящее назначение. Ничего со страницы назначения не загружается, никакие скрипты не выполняются, и вы видите домен прежде, чем принимать какое-либо решение.

Сразу проясним один момент: это не анонимно. Развернуть короткую ссылку значит попросить сокращатель развернуть ее, а сокращатель фиксирует этот запрос точно так же, как фиксирует любой другой. Предпросмотр показывает, куда вы направляетесь; он не скрывает того, что вы посмотрели.

Если вы по другую сторону этого процесса и создаете ссылки, а не проверяете их, материал Безопасны ли сокращатели URL объясняет, почему сам формат вызывает подозрение.

Чтение заголовков

Чтение заголовка Location короткой ссылки с помощью HEAD-запроса: ответ редиректа виден без загрузки страницы назначения

Полезные флаги:

curl -sI  https://s.elido.me/ab12cd                 # first hop only
curl -sIL https://s.elido.me/ab12cd | grep -Ei '^HTTP|^location'   # the whole chain

-I отправляет HEAD-запрос, -s отключает индикатор прогресса, -L следует за редиректами. Без -L вы видите один переход - это более безопасный вариант по умолчанию: прочитайте его, примите решение, а затем переходите дальше.

Цепочки значат больше, чем кажется. Ссылка, которая начинается на репутационном домене, может пройти еще через два, прежде чем добраться до места, и только последний домен - это то место, где вы на самом деле оказываетесь. Семантика кодов статуса описана в RFC 9110, если вам нужна разница между постоянным и временным редиректом, которая также определяет, будет ли браузер кешировать ответ.

В Windows без curl Invoke-WebRequest -Method Head -MaximumRedirection 0 выводит тот же заголовок, а руководство по PowerShell разбирает особенности синтаксиса.

Три других способа и чего они стоят

Сравнение четырех способов предпросмотра короткой ссылки: HEAD-запрос curl, суффикс предпросмотра провайдера, сайты-расширители и проверка репутации

Предпросмотр от провайдера. Некоторые сокращатели исторически поддерживали суффикс - + или ~ после кода - который показывает информационную страницу вместо редиректа. Там, где это есть, это самый чистый вариант, потому что провайдер отвечает на вопрос о собственной ссылке. Там, где этого нет, суффикс - просто часть несуществующего слага, и вы получаете 404, что тоже неплохой способ это выяснить.

Сайты-расширители. Вставьте ссылку - и сайт загрузит ее за вас. Удобно, и стоит понимать: теперь сайт знает, какую ссылку вам прислали, куда она ведет, и что вы отнеслись к ней с осторожностью. Для маркетинговой ссылки это ничего не значит. А для ссылки, в пути которой есть токен приглашения, идентификатор документа или номер обращения, вы только что передали третьей стороне то, что должно было остаться приватным.

Проверка репутации. Инструмент проверки статуса сайта от Google Safe Browsing сообщает, есть ли у домена известная плохая репутация. Это полезно, но важно правильно читать ответ: он сообщает об отсутствии известной проблемы, а не о наличии безопасности. Новые фишинговые домены выглядят чистыми, пока о них кто-нибудь не сообщит.

Чего разворачивание ссылки не покажет

Домен назначения - это лишь один сигнал, и его легко подделать так, чтобы он выглядел правильно. Домены-двойники, легитимный сайт со скомпрометированной страницей и редирект, который ведет себя иначе для IP дата-центра, чем для телефона, - все это проходит проверку выше без проблем.

Три привычки полезнее любого инструмента:

  • Сравнивайте назначение с тем, что заявил отправитель. Текст от курьерской службы, который ведет на домен, зарегистрированный на прошлой неделе, - сам себе ответ.
  • Будьте внимательнее со ссылками, которые пришли неожиданно, независимо от того, куда они ведут.
  • Относитесь к QR-коду как к короткой ссылке, которую вообще нельзя прочитать - потому что это она и есть. Материал Безопасны ли QR-коды разбирает версию этой проблемы, где сначала сканируют, а уже потом смотрят.

Если ссылки создаете вы

Именно поэтому домен, на котором вы публикуете ссылки, значит больше, чем сам слаг. Получатель, который проверяет ссылку, видит домен go.yourbrand.com и сразу понимает, кто ее отправил; ссылка на общем публичном сокращателе не говорит ничего и выглядит как любая другая.

Это тот же самый аргумент о репутации, который решает, будут ли ссылки заблокированы в Slack и Teams и переживут ли они фильтры email. Именно поэтому серьезные сокращатели сканируют назначения при создании ссылки и пересканируют их позже, ведь чистый URL может стать вредоносным уже после создания ссылки: полная версия - в материале чек-лист безопасности сокращателя URL.

Публикация на домене, который люди узнают, настраивается за пять минут. Создайте ссылку на бесплатном плане и подключите к ней собственный домен - и проверка безопасности у каждого получателя будет отвечать в вашу пользу.

Читайте цикл материалов

Этот материал относится к кластеру туториалов. Как работают сокращатели URL объясняет редирект, который вы сейчас читаете, Безопасны ли сокращатели URL разбирает вопрос доверия, а типы редиректов описывает, что означает каждый код статуса в этом заголовке.

Похожие материалы в блоге

Частые вопросы

Как посмотреть, куда ведет короткий URL, не открывая его?

Отправьте HEAD-запрос и прочитайте заголовок Location: curl -sI https://s.elido.me/ab12cd выводит строку статуса и назначение без загрузки страницы. Сокращатель все равно фиксирует, что кто-то сделал запрос, поэтому это способ увидеть назначение, а не способ остаться невидимым.

Можно ли предпросмотреть короткую ссылку в браузере?

Некоторые провайдеры поддерживают суффикс предпросмотра, исторически + или ~ после кода, который показывает информационную страницу вместо редиректа. Это работает только там, где провайдер это реализовал, поэтому суффикс, который просто выполняет редирект, стоит воспринимать как признак того, что этот провайдер не поддерживает предпросмотр.

Безопасно ли пользоваться сайтами-расширителями URL?

Они работают, и они видят все, что вы вставляете. Сайт узнает, какую ссылку вам прислали, и обычно сам загружает ее со своих серверов, а значит, тоже логирует назначение. Для обычной маркетинговой ссылки это не важно; для ссылки, в пути которой есть токен или идентификатор, это утечка.

Считается ли предпросмотр короткой ссылки кликом?

Обычно да. HEAD-запрос или загрузка через расширитель доходит до редиректа и фиксируется так же, как любое другое обращение, поэтому в аналитике может появиться лишний клик из необычного места. Развернуть короткую ссылку, не обратившись к сокращателю, невозможно, а именно обращение и попадает в лог.

Как понять, опасно ли назначение?

Разворачивание ссылки показывает, куда вы направляетесь, а не то, безопасно ли это. Проверьте домен через сервис репутации, например Google Safe Browsing, и относитесь с подозрением к несовпадению между тем, что заявил отправитель, и реальным доменом. Чистый результат проверки репутации - не доказательство безопасности, а лишь отсутствие известной плохой записи.

Что делать, если короткая ссылка ведет на другую короткую ссылку?

Цепочки редиректов - обычное дело, и каждый переход нужно читать, потому что цепочка, которая начинается на репутационном домене, может закончиться где угодно. Пройдите всю цепочку с помощью curl -sIL и прочитайте каждый заголовок Location, а не только первый.

Попробуйте Elido

Вставьте URL - получите короткую ссылку

Без регистрации. Ссылка живёт 30 дней. Зарегистрируйтесь, чтобы оставить её навсегда.

Бесплатно, без регистрации · 2 в день

Попробуйте Elido

URL-сокращатель с хостингом в ЕС: собственные домены, глубокая аналитика, открытый API. Бесплатный тариф - без банковской карты.

Теги
expand a short url
where does this short link go
preview short link
unshorten url
check short link safety
short url destination

Читать дальше