Почему это важно владельцу сайта
Когда вы ставите ссылку на чужой ресурс, вы берёте на себя часть ответственности за то, куда попадёт посетитель. Если страница окажется фишинговой или заражённой, человек может потерять данные или заразить устройство, и винить он будет в первую очередь сайт, на котором нажал ссылку. Кроме того, поисковые системы и браузеры предупреждают об опасных адресах, а сайт, который на них ссылается, теряет доверие. Проверять нужно не только новые ссылки: чужие сайты меняют владельцев и содержимое, и безобидная ссылка годичной давности сегодня может вести в опасное место.
Признаки подозрительной ссылки
| Признак | Что это значит | Что сделать |
|---|---|---|
| Адрес почти совпадает с известным, но в нём подмена символа | Возможна подделка домена известной компании | Сравнить написание по буквам, открыть сайт из закладки, а не по ссылке |
| В адресе есть части вида xn-- | Домен записан кодировкой для необычных символов и может выдавать себя за другой | Проверить, как домен выглядит в читаемом виде |
| Короткая ссылка без видимого назначения | Конечный адрес скрыт | Раскрыть цепочку перенаправлений до открытия |
| Вместо доменного имени — набор цифр | Адрес указывает прямо на сервер | Не публиковать без веской причины |
| Страница просит ввести пароль или данные карты | Признак фишинга, если это не сайт сервиса | Проверить, что домен принадлежит сервису |
| Нет защищённого соединения | Данные могут перехватить | Отдавать предпочтение адресам с защитой |
| Текст ссылки не совпадает с адресом назначения | Возможен обман посетителя | Привести текст и адрес в соответствие |
Порядок проверки
- Посмотрите адрес целиком. Наведите курсор и прочитайте адрес в строке состояния, а не только текст ссылки. Обратите внимание на домен: он находится между схемой и первым слешем.
- Раскройте короткие ссылки и цепочки. Не открывайте их в браузере, а запросите заголовки командой, которая покажет каждый шаг перенаправления.
- Проверьте домен. Узнайте, как давно он зарегистрирован, кому принадлежит и не совпадает ли с названием известной организации: совсем новые домены с громким именем вызывают вопросы.
- Проверьте репутацию. Воспользуйтесь онлайн-сервисами проверки безопасности адресов, в том числе теми, что связаны с поисковыми системами и антивирусными компаниями.
- Оцените содержимое в безопасной среде: изолированный браузер или виртуальная машина, без сохранённых паролей.
# показать цепочку перенаправлений короткой ссылки, не открывая страницу
curl -sIL "https://short.example/abc123" | grep -i "^location"
Команда выводит адреса всех шагов перенаправления. Если в конце оказывается незнакомый домен или необъяснимая цепочка из нескольких сервисов, ссылку лучше не использовать.
Простая проверка адреса скриптом
from urllib.parse import urlparse
def suspicious(url):
parts = urlparse(url)
host = parts.hostname or ""
flags = []
if host.startswith("xn--") or ".xn--" in host:
flags.append("punycode")
if host.replace(".", "").isdigit():
flags.append("ip address")
if parts.scheme != "https":
flags.append("no https")
if host.count(".") > 3:
flags.append("many subdomains")
return flags
Скрипт не определяет вредоносность, а лишь отмечает формальные признаки, которые стоит проверить вручную. Его удобно запускать по выгрузке всех внешних ссылок сайта: проверка исходящих ссылок на актуальность.
Ссылки, которые оставляют пользователи
Комментарии, отзывы, профили и объявления — главный канал попадания опасных ссылок на сайт. Здесь нужны правила, а не проверка каждой ссылки вручную.
- Включайте предварительную модерацию для сообщений со ссылками или запрещайте ссылки новым пользователям.
- Помечайте пользовательские ссылки атрибутами
ugcиnofollow: разбор атрибутов. - Подключите автоматическую проверку адресов по спискам опасных ресурсов, если система управления это позволяет.
- Ограничьте число ссылок в одном сообщении и удаляйте сообщения с укороченными адресами неизвестных сервисов.
Регулярная перепроверка
Раз в квартал выгружайте все внешние ссылки сайта и проверяйте их заново: код ответа, конечный адрес, признаки из таблицы выше. Обратите внимание на ссылки, которые стали перенаправлять на другой домен, — это частый признак смены владельца. Если ссылка вызывает сомнения, замените её или уберите, сохранив текст: читатель ничего не потеряет, а сайт избежит риска.
Связанные материалы. Когда внешние ссылки полезны и как их оформлять — в статье ссылки на внешние ресурсы. Что делать, если опасным оказался ваш собственный сайт, — в статье заражённый сайт.
Частые вопросы
Как проверить короткую ссылку, не открывая её?
Запросить заголовки ответа и посмотреть адрес перенаправления, например командой curl с ключами -sIL; так видна вся цепочка до конечной страницы.
Достаточно ли проверить ссылку один раз?
Нет: чужой сайт может сменить владельца или содержимое, поэтому внешние ссылки нужно перепроверять примерно раз в квартал.
Что делать со ссылками в комментариях пользователей?
Включить модерацию сообщений со ссылками, пометить их атрибутами ugc и nofollow и ограничить число ссылок в одном сообщении.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.