Pro AV

Pro AV

+35
Репутация
176
Рейтинг
#1 Повышенная нагрузка из за редиректов 10 марта 2018 в 20:43
vikont ко мне на сайт посылают запросы 22089 адресов с редиректами, я когда первый раз увидел очень удивился такой популярности. Сайт просто лёг, никаких операций вообще выполнять не мог, не то что перегрузка была — вообще завис намертво. Вставил код тот что выше, и ничего теперь работает, никакой перегрузки.
#2 Повышенная нагрузка из за редиректов 10 марта 2018 в 19:56
Давайте скомбинируем мой код и @IamB.
Вставьте так:

// боремся с редиректами
// в корне сайта, в самом начале файла index.php вставляем:

if(strpos($_SERVER['REQUEST_URI'], '/redirect?url=http') !== false)
{
$is_access = 0; // нет доступа
if(!empty($_SERVER['HTTP_REFERER'])){
if(strpos($_SERVER['HTTP_REFERER'], 'http://'.$_SERVER['HTTP_HOST']) === 0)
{$is_access = 1;} // есть доступ
if(strpos($_SERVER['HTTP_REFERER'], 'https://'.$_SERVER['HTTP_HOST']) === 0)
{$is_access = 1;} // есть доступ
}
if($is_access != 1){
$msg = " 403 Forbidden";
header($_SERVER["SERVER_PROTOCOL"].$msg);
exit("<h1>{$msg}</h1>");
}
}
//-----------------------------------

Будет то что надо, больше ничего не трогайте. Запросы на сервер поступать продолжат (вы же можете кому либо запретить пользоваться интернетом), но вредить не будут.
#3 Повышенная нагрузка из за редиректов 3 марта 2018 в 16:08
Хорошо, просто уточню. Если этот страшный GET запрос поступит но не будет исполняться (обрабатываться), это решит проблему? или проблема остаётся?
#4 Повышенная нагрузка из за редиректов 3 марта 2018 в 15:53
Что-то я совсем запутался, я пытался решить задачу по невыполнению перехода по редиректу, или попытки взлома. А оказывается надо просто запретить кому-то обращаться к вашему сайту.
#5 Повышенная нагрузка из за редиректов 3 марта 2018 в 15:40
Да, но тогда при чем тут instantCMS? Тогда проблема не в оформлении ссылки через редирект, а в том, что к сайту слишком много обращений.
#6 Повышенная нагрузка из за редиректов 3 марта 2018 в 15:26


Не верно, отключите вы компонент, удалите ли вы его, GET запросы к серверу будут продолжать идти, рубить их надо на уровне сервера

Василий Сергеевич
Я конечно извиняюсь, но если GET запрос поступает на сервер и никак не обрабатывается, зачем на такой запрос обращать внимания.
#7 Повышенная нагрузка из за редиректов 3 марта 2018 в 15:08


Не поможет, я полностью скрипт сайта удалял, оставлял пустую доменную папку, а редиректы шли! Единственная разница, что при этом в редиректах отсутствовали ссылки на статьи.

vikont
Как такое может быть? Скорее всего у вас на сервере работает сохранённая в cache версия сайта. Если на сайте физически нет компонента "redirect" который выполняет переход по ссылке, и вообще никаких скриптов нет, то и исполнять конструкцию "/redirect?url=http" просто нечему, ничего не произойдёт. Значит где-то лежит копия сайта, которая и живёт своей отдельной жизнью )). Вам её найти надо и что-то с ней сделать.
Или я вас неправильно понял? и вы говорите о том, что на ваш сервер при удалённых скриптах всё равно поступают запросы типа "/redirect?url=http://кокойто_гс"?
#8 Повышенная нагрузка из за редиректов 3 марта 2018 в 13:05
Про "ссылочную массу" так всё и есть, весь этот мусор индексируется, очень печально.
#9 Повышенная нагрузка из за редиректов 3 марта 2018 в 12:29


То есть HTTP_REFERER они пока генерировать не научились?

@IamB
Наверно могут, поэтому скорее всего у vikont мой код не сработал, но в моём случае большинство редиректов идёт не напрямую "источник->мой_сайт->целевой_сайт" а через цепочку, примерно так "источник->ещё_сайт->мой_сайт->целевой_сайт", и у меня HTTP_REFERER моего сервера отслеживается.
vikont попробуйте отсечь вообще все редиректы:
if(strpos($_SERVER['REQUEST_URI'], '/redirect?url=http') !== false) { return;}
Так думаю точно хулиганы не пролезут, но есть минус — компонент "redirect" у вас на сайте вообще работать не будет.
#10 Повышенная нагрузка из за редиректов 1 марта 2018 в 20:25
Вчера вечером снова напали на меня эти редиречики, да так что сайт лёг намертво, ничего не помогало, пришлось в файл index.php до включения всех функций сайта вставить вот такой код, вдруг кому-то пригодится.

// боремся с редиректами
// в корне сайта, в самом начале файла index.php вставляем:

if(strpos($_SERVER['REQUEST_URI'], '/redirect?url=http') !== false)
{
$is_access = 0; // нет доступа
if(!empty($_SERVER['HTTP_REFERER'])){
if(strpos($_SERVER['HTTP_REFERER'], 'http://'.$_SERVER['HTTP_HOST']) === 0)
{$is_access = 1;} // есть доступ
if(strpos($_SERVER['HTTP_REFERER'], 'https://'.$_SERVER['HTTP_HOST']) === 0)
{$is_access = 1;} // есть доступ
}
if($is_access != 1){
echo 'Переход недоступен '.$_SERVER['REQUEST_URI'];
return; // дальше не выполняем
}
}
//-----------------------------------

/**
* Константа, по которой можно отследить текущий тип запуска CMS
*/
// дальше код cms…
#11 Повышенная нагрузка из за редиректов 13 февраля 2018 в 13:27

Лично для себя нашёл ещё такое решение,

Alex
Ваше решение к сожалению не помогло.
[/quote]
Попробуйте незарегистрированным пользователям, просто показывать страницу 404. так по идее не должно ресурсы кушать
  1.  
  2. if (!$this->cms_user->is_logged) { cmsCore::error404(); }
  3.  
#12 Повышенная нагрузка из за редиректов 13 февраля 2018 в 12:11
Я Fuze писал насчёт этой проблемы с редиректом, нагрузка на сайт была 100%, он мне ответил, чтобы я выключил компонент "редирект" в админке.
Я компонент совсем выключать не стал поставил галку "Проверять HTTP referer", нагрузка на сайт упала до 60%.

Лично для себя нашёл ещё такое решение, прописал в файле "./system/controllers/redirect/frontend.php", что редиректом могут пользоваться только зарегистрованные пользователи, после этого нагрузка пропала.
  1.  
  2. if (!$this->cms_user->is_logged)
  3. {
  4. cmsUser::addSessionMessage('<p style="font-size:26px;">Для перехода по ссылке требуется <a href="/auth/login">регистрация</a></p>', 'error');
  5. $url = '';
  6. $is_domain_banned = true;
  7. $is_domain_in_black_list = true;
  8. //cmsUser::goLogin();
  9. }
  10.  
#13 Как вывести количество объявлений напротив каждой категории в 2ке 28 мая 2017 в 01:20
Число объявлений сейчас на самом деле не надо, а фильтр лучше сразу раскрыть.
4455.kz/ — кнопка "Наверх", скачущая по середине экрана раздражает.
На странице с объявлением, заголовок "Фотография:" я бы убрал.
#14 [ЕСТЬ РЕШЕНИЕ] Платёжные системы 26 мая 2017 в 19:31
Про W1 отзывы читал — они были просто ужасные. Подключил Walletone (W1) три месяца работаю вообще без проблем, она и на(в) Украине работает и в России. У меня большинство российских пользователей через неё платят, Приват банк там тоже есть.
#15 Тур по сайту 24 мая 2017 в 11:11
У вас ошибка в инсталяторе при обновлении: name = 'Тур по сайту' name = 'sitetour'
  1. else{
  2. $core->db->query("update cms_widgets set version = '1.1.0' where id={$sitetour['id']}",array(),true);
  3. $core->db->query("update cms_widgets set name = 'Тур по сайту' where id={$sitetour['id']}",array(),true);
  4. }
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.