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

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

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

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

$tmp=strpos($_SERVER['HTTP_REFERER'],'notes');
if ($tmp==FALSE) {
$url=urldecode('http://komivlad.net/blog/404');}

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

Поделись с друзьями:

Опубликовано 10.04.2014 в 09:52 · Автор komivlad · Ссылка
Рубрики: WordPress · Теги: , , , , ,

Написать комментарий