Превышена нагрузка на MySQL - переезжать на VDS?

123 4
G-and-Y
На сайте с 29.06.2013
Offline
156
#11

В index.php в самый верх, смотря какой двиг.

$referer2 = strtolower($_SERVER['HTTP_REFERER']);
$tvt2 = 'site.ru';
$tv2 = strpos($referer2, $tvt2);
$za2 = $_SERVER['HTTP_REFERER'];

if ($za2 == ''|$tv2) {

if(!isset($_COOKIE['testbot']) || $_COOKIE['testbot'] !='test')
{
if(!isBot())
{

echo '<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=/403.html">';
exit();

}
}

} else {
$cookie_name = "testbot";
$cookie_value = "test";
setcookie($cookie_name, $cookie_value, time() + 1000*24*3600, "/", ".site.ru");
}

function isBot(){
$bots = array(
'rambler','googlebot','aport','yahoo','msnbot','turtle','mail.ru','omsktele',
'yetibot','picsearch','sape.bot','sape_context','gigabot','snapbot','alexa.com',
'megadownload.net','askpeter.info','igde.ru','ask.com','qwartabot','yanga.co.uk',
'scoutjet','similarpages','oozbot','shrinktheweb.com','aboutusbot','followsite.com',
'dataparksearch','google-sitemaps','appEngine-google','feedfetcher-google',
'liveinternet.ru','xml-sitemaps.com','agama','metadatalabs.com','h1.hrn.ru',
'googlealert.com','seo-rus.com','yaDirectBot','yandeG','yandex',
'yandexSomething','Copyscape.com','AdsBot-Google','domaintools.com',
'Nigma.ru','bing.com','dotnetdotcom'
);
foreach($bots as $bot)
{
if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false) return true;
}
return false;
}

Список ботов можно изменить на свое усмотрение в $bots = array(

403.html

<script>
var date = new Date(new Date().getTime() + 1000 * 24 * 60 * 60 * 1000);
document.cookie = "testbot=test; path=/; domain=.site.ru; expires="+ date.toUTCString();
var a = document.referrer;
document.write('<META HTTP-EQUIV="REFRESH" CONTENT="1;URL='+ a +'">');
</script>



---------- Добавлено 15.09.2017 в 15:22 ----------

Идет куча запросов вида с разных ип, пока nginx держит легко.


178.206.44.233 - - [15/Sep/2017:13:20:45 +0200] "GET / HTTP/1.0" 200 441 "http://site.ru/403.html?ref=/" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.4) Gecko/20100625 Gentoo Firefox/3.6.4"
91.107.96.84 - - [15/Sep/2017:13:20:45 +0200] "GET / HTTP/1.0" 200 441 "http://site.ru/403.html?ref=/" "Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 GTB5 (.NET CLR 3.5.30729)"
94.180.125.138 - - [15/Sep/2017:13:20:46 +0200] "GET / HTTP/1.0" 200 441 "http://site.ru/403.html?ref=/" "Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.2.18) Gecko/20110628 Ubuntu/10.10 (maverick) Firefox/3.6.18"
46.147.38.57 - - [15/Sep/2017:13:20:46 +0200] "GET / HTTP/1.0" 200 441 "http://site.ru/403.html?ref=/" "Mozilla/5.0 (X11; U; Linux i686; fr-FR; rv:1.9.1) Gecko/20090624 Ubuntu/9.04 (jaunty) Firefox/3.5"
176.213.42.234 - - [15/Sep/2017:13:20:46 +0200] "GET / HTTP/1.0" 200 441 "http://site.ru/403.html?ref=/" "Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6"
91.122.178.203 - - [15/Sep/2017:13:20:46 +0200] "GET / HTTP/1.0" 200 441 "http://site.ru/403.html?ref=/" "Mozilla/5.0 (Windows; U; Windows NT 6.0; nl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0E)"

Скрипт будет срабатывать только для пользователей из закладок и для ботов. Если боты будут передавать реферер поисковиков, то тогда убрать проверку на реферер, если смогут подменять юсер агент, то тогда прикрутить проверку ип поисковиков.

SeVlad, я не говорю что этот скрипт защитит от всех досс атак, но от тупых ботов спасет на раз, два.

Абузо-устойчивые впс в Нидерландах от 5$/мес (https://cp.inferno.name/aff.php?aff=2991)
SeVlad
На сайте с 03.11.2008
Offline
1609
#12
G-and-Y:
В index.php в самый верх,

А я думал, что ничего круче той "универсальной защиты" быть не может. Оказывается, может :).

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
G-and-Y
На сайте с 29.06.2013
Offline
156
#13

п.с.: Это решение чем хорошо что оно простое и его можно применить на любом хостинге, не надо никаких модулей nginx и т.д.

TF-Studio
На сайте с 17.08.2010
Offline
334
#14

вот это жесть

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
G-and-Y
На сайте с 29.06.2013
Offline
156
#15

SeVlad, стесняюсь спросить и чем же плох этот метод? Если он сейчас реально мне помогает. Та же защита от клоудфларе работает по такому же принципу(куча редиректов + кука) но дольше и для всех юзеров.

dotern
На сайте с 21.09.2016
Offline
123
#16

Плох тем, что ТС толком не знает в чем причина нагрузки. Может нужно просто ресурсов добавить. А не рисковать вот этими ограничениями.

G-and-Y
На сайте с 29.06.2013
Offline
156
#17

dotern а риска по сути нету, поисковиков пропустит, пользователи с поисковиков будут попадать на сайт без редиректа, у меня этот код стоит на сайте где трафик с Яндекса 30к/сутки.

D
На сайте с 28.06.2008
Offline
1101
#18
SeVlad:
Дебильное решение в 99% случаев - банить по ИП.

По это ссылке решение, блокирующее подсети всех основных хостеров мира. Что автоматически отсекает 90% мусорного трафика.

---------- Добавлено 15.09.2017 в 15:14 ----------

G-and-Y:
В index.php в самый верх, смотря какой двиг.

Дальше даже не читал - бороться с ботами через php, не использую фаервол или Nginx на крайняк - верх идиотизма

G-and-Y
На сайте с 29.06.2013
Offline
156
#19

Dram данное решение можно прикрутить и на nginx без пшп, но это немного сложнее и на хостинге это не сделаешь, так же я пробовал его использовать без php, разницы в нагрузке не почувствовал!

D
На сайте с 28.06.2008
Offline
1101
#20

Я такое решение на Nginx использую уже год, вполне доволен.

/ru/forum/comment/14885499

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий