Все статьи
Безопасность 23 май 2026 9 мин Александр Петров

Сайт редиректит на казино или аптеку: как найти и удалить вредоносный редирект

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

Самый частый сценарий заражения, с которым к нам приходят: «сайт у меня в браузере открывается нормально, а посетители жалуются, что их перебрасывает на казино». Это классический conditional redirect — вредоносный код, который срабатывает выборочно, чтобы владелец сайта долго не замечал проблему.

Почему вы не видите редирект, а посетители видят

Вредоносный скрипт проверяет условия и редиректит только «подходящих» пользователей. Чаще всего проверяется:

  • User-Agent: редирект только для мобильных (Android, iOS) — там кликают чаще и труднее проверить.
  • Referer: редирект только для посетителей из Google и Яндекса — прямые заходы и админы не страдают.
  • Cookies: если в куках есть метка «уже редиректили» или «залогинен в админке» — пропускают.
  • IP-адрес: фильтрация по гео или blacklist админских IP.
  • Частота: один и тот же посетитель редиректится раз в сутки или раз в неделю.
Если у вас «всё нормально, но клиенты жалуются» — почти наверняка это conditional redirect. Проверьте сайт с телефона по 4G, перейдя из выдачи Google в режиме инкогнито.

Где обычно прячется код редиректа

CMSГде искатьЧто искать
WordPressheader.php, footer.php, functions.php темы; wp_options (siteurl, home, redirect)eval(base64_decode(...)), wp_redirect на чужой домен
WordPresswp_posts.post_content (инжект в записи)<script src=... с чужого домена
Битрикс/bitrix/templates/.default/header.php, init.phpheader('Location: ...'), AddEventHandler
Joomlatemplates/*/index.php, configuration.phpeval, gzinflate, str_rot13
OpenCartcatalog/view/theme/*/template/common/header.tplJS-вставки с чужого CDN
Любая CMS.htaccess в корне и подпапкахRewriteRule c условиями HTTP_USER_AGENT и HTTP_REFERER
Топ мест для скрытого редиректа по CMS

Как найти редирект самому: 30 минут диагностики

  • Откройте сайт в режиме инкогнито с телефона через 4G — поймайте редирект.
  • Через DevTools (Chrome → F12 → Network) запишите все запросы, найдите 301/302 на чужой домен — увидите, какой скрипт его инициирует.
  • Скачайте все файлы сайта по FTP/SSH, запустите поиск по регулярке `eval\s*\(base64_decode|gzinflate\(base64_decode|str_rot13` — в 80% случаев находит шелл.
  • Проверьте `.htaccess` во всех папках на наличие RewriteRule с условиями User-Agent.
  • В БД WordPress проверьте `wp_options.siteurl` и `wp_options.home` — не подменены ли они.
  • Посмотрите дату изменения файлов: подозрительно всё, что менялось в день, когда вас точно никто не редактировал.

Чего НЕ делать

  • Удалять только видимый скрипт — точка входа (бэкдор) останется, и через сутки редирект вернётся.
  • Просто «обновить тему» — заражение часто живёт в БД и не в файлах темы.
  • Менять только пароль админки — у злоумышленника, скорее всего, есть FTP или прямой доступ к БД.
  • Откатывать бэкап без понимания, когда именно произошёл взлом.

Что делать, если найти не получается

Современные заражения умеют прятаться: код шифруется в несколько слоёв, дробится на маленькие куски в разных файлах, восстанавливается через cron-задачу после удаления. Если за 1–2 часа не получилось найти причину — стоит передать специалистам, иначе риск пропустить копию шелла и заразиться повторно очень высок.

Сколько стоит лечение конкретно редиректа

Удаление conditional redirect с поиском точки входа и закрытием дыры — типовая задача от 15 000 ₽, срок 4–12 часов. В работу включаем снятие пометки «опасный сайт» в Google и Яндексе. Бесплатная диагностика по логам и файлам — за 1–2 часа, скажем точную цену и сроки до начала работ.

Часто задаваемые вопросы

Почему сайт редиректит только у части посетителей?+

Это conditional redirect — вредоносный код проверяет User-Agent, Referer или cookies и срабатывает только для мобильных, посетителей из поиска или новых пользователей. Админ и постоянные клиенты редирект не видят, поэтому проблему часто замечают поздно.

Можно ли найти редирект самому?+

Если есть опыт работы с FTP и БД — да, за 30–60 минут. Нужно проверить .htaccess, файлы шаблона (header.php, footer.php, functions.php), поля siteurl и home в БД, и сделать поиск по регулярке eval(base64_decode по всем файлам. Если за 1–2 часа не получилось — лучше отдать специалистам, чтобы не пропустить копию бэкдора.

Сколько стоит удалить редирект?+

Удаление conditional redirect с поиском точки входа, закрытием уязвимости и снятием санкций Google/Яндекса — от 15 000 ₽, срок 4–12 часов. Бесплатная диагностика за 1–2 часа, точная цена до начала работ.

Читайте также

Понравилась статья?

Подпишитесь на блог или обсудите ваш проект.

Обсудить проект