WP-NoExternalLinks добавляем проверку http referer

WP-NoExternalLinks1
На днях в логах обнаружил интересную вещь, какие-то хитрожопые, юзали блог для шастания по чужим сайтам,т.к. на блоге для скрытия внешних ссылок используя плагин WP-NoExternalLinks, то на любой сайт можно зайти используя ссылку с блога
https://i-notes.org/go/http://google.ru
одно дело если это реально переход с блога, а другое, если кто-то юзал это в своих целях.
Чтож, как выяснилось у данного плагина нет возможности проверки HTTP_REFERER, ставить новый плагин не хотелось, т.к. блогу не один год и ломать все из-за этого влом, пришлось добавить проверку HTTP_REFERER самому )))
Открываем wp-noexternallinks/wp-noexternallinks-parser.php, ищем там функцию redirect2($url)
далее кусок кода в ней


  $this->init_lang();
  if(!$og1muezaerai_rewrite->using_permalinks())
    $url=urldecode($url);

и после добавляем свой код


$tmp=strpos($_SERVER['HTTP_REFERER'],'notes');
if ($tmp==FALSE) {
$url=urldecode('https://i-notes.org/404');}

т.е. проверяем наличие строки notes в HTTP_REFERER и если ее нет, то кидаем на 404 ошибку.
При попытке открытия ссылки без присутствия блога в качестве реферера, кинет 404 страницу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Меню