Главная » Блог » Редирект только своих ссылок

Редирект только своих ссылок
21 февраля 2016

На сайте уже обсуждалась проблема: нехорошие люди ставят ссылки на плохие сайты используя редирект на вашем сайте.

Откройте файл /system/controllers/redirect/frontend.php и после строки 

if (!$url) { cmsCore::error404(); }

добавьте проверку

// Проверяем откуда запрос
if(!isset($_SERVER['HTTP_REFERER']) || stripos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']) === false){
    cmsCore::error404();
}
// Проверяем откуда запрос

Почему такого решения нет из коробки? Из-за криво настроенных хостингов, которые отдают некорректно $_SERVER['HTTP_REFERER'] и/или $_SERVER['HTTP_HOST']. Т.е. такое решение кому-то и не поможет.

У меня работает 100%. Попытка отредиректить через мой сайт чужую ссылку приведет на страницу 404.