Форум русской поддержки Joomla!® CMS
06.12.2016, 14:18:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

легкая защита от httpflood "школьного" ddos и сканирования

 (Прочитано 16292 раз)
0 Пользователей и 1 Гость смотрят эту тему.
likrion
Завсегдатай
*****

Репутация: +127/-2
Offline Offline

Пол: Мужской
Сообщений: 752



« : 31.03.2012, 03:34:52 »

в index.php в корне сайта вставляем перед <?php

Код:


<?php
$ad_delay=1;
$ad_DirName=$_SERVER['DOCUMENT_ROOT'].'/tmp';
$ad_Robots_UserAgent=array(
   'aipbot',
   'Aport',
   'eStyleSearch',
   'Gigabot',
   'Gokubot',
   'Google',
   'MJ12bot',
   'msnbot',
   'PlantyNet_WebRobot',
   'StackRambler',
   'TurtleScanner',
   'Yahoo',
   'Yandex',
   'YaDirectBot',
);
$ad_good_ip = array(
    '217.107.36.73',
);
function ad_WiteIP($dir){
   $f=fopen($dir.'/a'.$_SERVER['REMOTE_ADDR'], 'w');
   fclose($f);
}
$ad_IsRobot=false;
foreach ($ad_Robots_UserAgent as $match){
   if (strstr($_SERVER['HTTP_USER_AGENT'], $match)){
      $ad_IsRobot=true;
      break;
   }
}
if( in_array($_SERVER['REMOTE_ADDR'], $ad_good_ip) ) {
     $good_ip = true;
} else {
     $good_ip = false;
}

if (!$ad_IsRobot AND !$good_ip){
   session_start();
}

if (!$ad_IsRobot AND !$good_ip){
   $ad_dir      =opendir($ad_DirName)
      or die('Отсутствует директория для временных файлов');
   $ad_now      =time();
   $ad_forbid   =$ad_now-$ad_delay;
   while (false!==($ad_FName=readdir($ad_dir))){
      if (ereg('^a[1-9]',$ad_FName)
         && (@ filemtime($ad_DirName.'/'.$ad_FName)<$ad_forbid)){
         @ unlink($ad_DirName.'/'.$ad_FName);
      }
   }
   closedir($ad_dir);
   if (file_exists($ad_DirName.'/a'.$_SERVER['REMOTE_ADDR'])){
      header('HTTP/1.0 503 Service Unavailable');
      header('Status: 503 Service Unavailable');
      header('Retry-After: '.$ad_delay*3);
      $redirectUrl = $_SERVER['REQUEST_URI'];
    echo ("
<form name='redirect'>
<center>
<font face='Arial'><b>Вы делаете слишком много запросов в секунду!<br>Перенаправление на запрашиваемую страницу<br>через
<form>
<input type='text' size='3' name='redirect2' disabled='disabled'>
</form>
секунд</b></font>
</center>

<script>
<!--
var targetURL='$redirectUrl'
var countdownfrom=5
var currentsecond=document.redirect.redirect2.value=countdownfrom+1
function countredirect(){
if (currentsecond!=1){
currentsecond-=1
document.redirect.redirect2.value=currentsecond
}
else{
window.location=targetURL
return
}
setTimeout('countredirect()',1000)
}
countredirect()
//-->
</script>");
      ad_WiteIP($ad_DirName);
      exit;
   }else{
      ad_WiteIP($ad_DirName);
   }
}
?>



где
$ad_Robots_UserAgent - список ботов для посещения без лимита
$ad_good_ip - адреса для безлимитного посещения

колличество ображений вычисляйте для себя сами

по умолчанию
$ad_delay=1;

вычисление

   $ad_now      =time();
   $ad_forbid   =$ad_now-$ad_delay;


папка для логирования сессий

$ad_DirName=$_SERVER['DOCUMENT_ROOT'].'/tmp'; //можно изменить на другую



по умолчанию разрешено не более 3 обращений в секунду с одного IP иначе



demo: http://gameroyal.ru

p/s

не забудьте сохранить index.php в utf8

прикрепляю корневой index.php для Joomla 2.5



[вложение удалено Администратором]
« Последнее редактирование: 31.03.2012, 11:30:58 от likrion » Записан
 
oriol
Живу я здесь
******

Репутация: +100/-4
Offline Offline

Сообщений: 1057


« Ответ #1 : 31.03.2012, 05:37:54 »

Цитировать
Warning: session_start() [function.session-start]: Не удается отправить ограничитель сессии кэш - заголовки уже отправлены (output started at /home/xxxxx/xxxxx/xxxxx.ru/xxxxxx/index.php:98) in /home/xxxxx/xxxxx/xxxxxx.ru/xxxxx/libraries/joomla/session/session.php on line 423

Warning: Не удается изменить информацию в заголовке - заголовки уже присланы (output started at /home/xxxxx/xxxxx/xxxxx.ru/xxxxx/index.php:98) in /home/xxxxx/xxxxx/xxxxx.ru/xxxxx/libraries/joomla/session/session.php on line 426

Записан
danik.html
Практически профи
*******

Репутация: +351/-4
Offline Offline

Пол: Мужской
Сообщений: 2723



« Ответ #2 : 31.03.2012, 07:05:16 »

А может ввиде плагина оформить? И что-то не пойму как работает подсчет запросов в секунду - может в сессию писать время запроса?
Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2653


step by step


« Ответ #3 : 31.03.2012, 13:45:55 »


А пробела нет перед php?
А здесь можно присвоить IP своего сервера?
$ad_good_ip = array(
    '217.107.36.73',
);
2.А если яваскрипт отключен,то кто будет считать
« Последнее редактирование: 31.03.2012, 14:03:02 от draff » Записан
danik.html
Практически профи
*******

Репутация: +351/-4
Offline Offline

Пол: Мужской
Сообщений: 2723



« Ответ #4 : 31.03.2012, 15:44:02 »


2.А если яваскрипт отключен,то кто будет считать
А если отключен, то тот кто отключил вкурсах че делать это однозначно. На крайняк вывести <noscript>жми F5</noscript>
Записан
oriol
Живу я здесь
******

Репутация: +100/-4
Offline Offline

Сообщений: 1057


« Ответ #5 : 31.03.2012, 19:08:15 »

likrion А у тебя нет ошибок ?
Записан
likrion
Завсегдатай
*****

Репутация: +127/-2
Offline Offline

Пол: Мужской
Сообщений: 752



« Ответ #6 : 02.04.2012, 00:15:48 »

еще один скриптик от httpflood защиты

отличие от первого:

  • js не нужен,
  • время,колличество обращений и т.п. настраивается циферками,
  • не притормаживает сайт,
  • исправно работает RSS и редиректы,
  • невозможна аттака с подменой user-agent  на бота

листинг:

Код:
<?php

$cookie = $_COOKIE['yourcookie'];
$othercookie = $_COOKIE['yourothercookie'];

if($cookie && $othercookie > 0) $iptime = 20;  // Minimum number of seconds between visits for users with certain cookie
else $iptime = 10; // Minimum number of seconds between visits for everyone else

$ippenalty = 60; // Seconds before visitor is allowed back

if($cookie && $othercookie > 0)$ipmaxvisit = 30; // Maximum visits, per $iptime segment
else $ipmaxvisit = 20; // Maximum visits per $iptime segment

$iplogdir = "./tmp/";
$iplogfile = "iplog.dat";

$ipfile = substr(md5($_SERVER["REMOTE_ADDR"]), -2);
$oldtime = 0;
if (file_exists($iplogdir.$ipfile)) $oldtime = filemtime($iplogdir.$ipfile);

$time = time();
if ($oldtime < $time) $oldtime = $time;
$newtime = $oldtime + $iptime;

if ($newtime >= $time + $iptime*$ipmaxvisit)
{
touch($iplogdir.$ipfile, $time + $iptime*($ipmaxvisit-1) + $ippenalty);
$oldref = $_SERVER['HTTP_REFERER'];
header("HTTP/1.0 503 Service Temporarily Unavailable");
header("Connection: close");
header("Content-Type: text/html");
echo "<html><body bgcolor=#999999 text=#ffffff link=#ffff00>
<font face='Verdana, Arial'><p><b>
<h1>Temporary Access Denial</h1>Too many quick page views by your IP address (more than ".$ipmaxvisit." visits within ".$iptime." seconds).</b>
";
echo "<br />Please wait ".$ippenalty." seconds and reload.</p></font></body></html>";
touch($iplogdir.$iplogfile); //create if not existing
$fp = fopen($iplogdir.$iplogfile, "a");
$yourdomain = $_SERVER['HTTP_HOST'];
     if ($fp)
     {
     $useragent = "<unknown user agent>";
     if (isset($_SERVER["HTTP_USER_AGENT"])) $useragent = $_SERVER["HTTP_USER_AGENT"];
     fputs($fp, $_SERVER["REMOTE_ADDR"]." ".date("d/m/Y H:i:s")." ".$useragent."\n");
     fclose($fp);
     $yourdomain = $_SERVER['HTTP_HOST'];
     
     //the @ symbol before @mail means 'supress errors' so you wont see errors on the page if email fails.
if($_SESSION['reportedflood'] < 1 && ($newtime < $time + $iptime + $iptime*$ipmaxvisit))
     @mail('flood_alert@'.$yourdomain, 'site flooded by '.$cookie.' '
     .$_SERVER['REMOTE_ADDR'],'http://'.$yourdomain.' rapid website access flood occured and ban for IP '.$_SERVER['REMOTE_ADDR'].' at http://'.$yourdomain.$_SERVER['REQUEST_URI'].' from '.$oldref.' agent '.$_SERVER['HTTP_USER_AGENT'].' '
     .$cookie.' '.$othercookie, "From: ".$yourdomain."\n");
     $_SESSION['reportedflood'] = 1;
     }
     exit();
}
else $_SESSION['reportedflood'] = 0;

//echo("loaded ".$cookie.$iplogdir.$iplogfile.$ipfile.$newtime);
touch($iplogdir.$ipfile, $newtime); //this just updates the IP file access date or creates a new file if it doesn't exist in /iplog
?>

держит оборону от 500 флудильщиков одновременно(*на моем сервере)

демо http://likrion.ru

ps

для ботов настройте задержку в robots.txt


прикрепляю готовый файл -корневой index.php- для Joomla 2.5

[вложение удалено Администратором]
Записан
danik.html
Практически профи
*******

Репутация: +351/-4
Offline Offline

Пол: Мужской
Сообщений: 2723



« Ответ #7 : 02.04.2012, 00:54:59 »

Напиши как эту самую  задержку настраивать, а то ведь и пс тоже блокироваться будут.
Записан
likrion
Завсегдатай
*****

Репутация: +127/-2
Offline Offline

Пол: Мужской
Сообщений: 752



« Ответ #8 : 02.04.2012, 01:26:14 »

Пример задержки для robots.txt:

   
Код:
    User-agent: Yandex
    Crawl-delay: 2 # задает таймаут в 2 секунды

    User-agent: *
    Disallow: /search
    Crawl-delay: 4.5 # задает таймаут в 4.5 секунды
Записан
oriol
Живу я здесь
******

Репутация: +100/-4
Offline Offline

Сообщений: 1057


« Ответ #9 : 02.04.2012, 12:57:19 »

Спасибо за скрипты
А может у тебя получится это реализовать под Joomla
Автобан
Записан
likrion
Завсегдатай
*****

Репутация: +127/-2
Offline Offline

Пол: Мужской
Сообщений: 752



« Ответ #10 : 29.06.2012, 04:56:19 »

Спасибо за скрипты
А может у тебя получится это реализовать под Joomla
Автобан


там же все написано.  

как сделал я...
1 . создал новую базу (общую для всех сайтов(у меня их более 10)) firewall
2 . создал 2 таблицы -  укол:

Код:
DROP DATABASE IF EXISTS `firewall`;
CREATE DATABASE `firewall` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `firewall`;

#
# Table structure for table all_visits
#

CREATE TABLE `all_visits` (
  `id` smallint(6) NOT NULL AUTO_INCREMENT,
  `ip` varchar(15) DEFAULT NULL,
  `date` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


#
# Table structure for table black_list_ip
#

CREATE TABLE `black_list_ip` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ip` varchar(15) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


и воткнул скипт в index.php сайта (немного подправив)

листинг моего index.php


Код:

<?php
if (!empty($_SERVER['HTTP_CLIENT_IP']))
    $ip=$_SERVER['HTTP_CLIENT_IP'];
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
else $ip=$_SERVER['REMOTE_ADDR'];
$bot=$_SERVER['HTTP_USER_AGENT'];

if (strstr($_SERVER['HTTP_USER_AGENT'], 'Yandex')) {$bot='Yandex';}
elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'Google')) {$bot='Google';}
elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'Yahoo')) {$bot='Yahoo';}
elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'Mail')) {$bot='Mail';}

if ($bot!='Yandex' and $bot!='Google' and $bot!='Yahoo' and $bot!='Mail') {

$link=mysql_connect("IP_БАЗЫ_ДАННЫХ","ЛОГИН","ПАРОЛЬ") or die("Could not connect: ".mysql_error());
mysql_select_db("firewall", $link);

 $result=mysql_query("INSERT INTO all_visits (ip,date)
         VALUES ('".$ip."','".time(true)."')");
 $result=mysql_query("SELECT count(id) FROM all_visits
         WHERE (ip='".$ip."' and date>'".(time(true)-10)."') LIMIT 1", $link);
 $count_visit=mysql_fetch_array($result);

 if ($count_visit[0]>30) {
  $result=mysql_query("INSERT INTO black_list_ip (ip) VALUES ('".$ip."')");

  $file_htaccess=".htaccess";
$start_line=0;

    $lines=file($file_htaccess);
    for ($n=0; $n<=count($lines); $n++) if ($lines[$n] == "<Limit GET POST> \r\n") $start_line=$n;
    if ($start_line!=0) for ($n=0; $n<$start_line; $n++) $lines_htaccess[]=$lines[$n];
        else $lines_htaccess=$lines;

  $lines_htaccess[]="<Limit GET POST> \r\n";
  $lines_htaccess[]=" order allow,deny \r\n";

  $result=mysql_query("SELECT IP FROM black_list_ip ORDER BY INET_ATON(ip)", $link);
  $number=mysql_num_rows($result);

  for ($n=1; $n<=$number; $n++) {
   $htaccess_ip=mysql_fetch_array($result);
   $lines_htaccess[]=" deny from ".$htaccess_ip[ip]."\r\n";
  }

  $lines_htaccess[]=" allow from all \r\n";
  $lines_htaccess[]="</Limit> \r\n\r\n";

  file_put_contents($file_htaccess, $lines_htaccess);
 }
}



/**
 * @package Joomla.Site
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

// Set flag that this is a parent file.
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

if (file_exists(dirname(__FILE__). '/defines.php')) {
include_once dirname(__FILE__). '/defines.php';
}

if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__FILE__));
require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';

// Mark afterLoad in the profiler.
JDEBUG ? $_PROFILER->mark('afterLoad') : null;

// Instantiate the application.
$app = JFactory::getApplication('site');

// Initialise the application.
$app->initialise();

// Mark afterIntialise in the profiler.
JDEBUG ? $_PROFILER->mark('afterInitialise') : null;

// Route the application.
$app->route();

// Mark afterRoute in the profiler.
JDEBUG ? $_PROFILER->mark('afterRoute') : null;

// Dispatch the application.
$app->dispatch();

// Mark afterDispatch in the profiler.
JDEBUG ? $_PROFILER->mark('afterDispatch') : null;

// Render the application.
$app->render();

// Mark afterRender in the profiler.
JDEBUG ? $_PROFILER->mark('afterRender') : null;

// Return the response.
echo $app;




в итоге я имею небольшую защиту от ddos (конечно от нормального ддоса ничего не спасет но) от школьников и флудеров защиту держит..... все кто посылают более 30 запросов за 10 сек. автоматически прописываются в .htaccess и вход на сайт им "заказан"

вот то что на собиралось за пару дней


Код:

<Limit GET POST>
 order allow,deny
 deny from 24.73.95.166
 deny from 93.114.209.43
 deny from 95.133.3.103
 deny from 177.65.17.250
 deny from 186.125.20.29
 deny from 187.5.14.235
 deny from 187.6.105.106
 deny from 187.149.20.46
 deny from 187.149.20.46
 deny from 189.70.226.140
 deny from 189.70.244.104
 deny from 189.74.19.214
 deny from 189.83.183.148
 deny from 189.105.93.161
 deny from 189.124.204.201
 deny from 190.193.81.191
 deny from 200.85.218.32
 deny from 200.171.248.197
 deny from 201.8.136.58
 deny from 201.43.2.236
 deny from 201.58.79.198
 deny from 201.81.20.159
 deny from 201.82.20.130
 deny from 212.45.25.97
 deny from 24.73.95.166
 deny from 93.114.209.43
 deny from 95.133.3.103
 deny from 177.65.17.250
 deny from 186.125.20.29
 deny from 187.5.14.235
 deny from 187.6.105.106
 deny from 187.149.20.46
 deny from 189.70.226.140
 deny from 189.74.19.214
 deny from 189.83.183.148
 deny from 189.105.93.161
 deny from 189.124.204.201
 deny from 190.193.81.191
 deny from 200.85.218.32
 deny from 200.171.248.197
 deny from 201.8.136.58
 deny from 201.43.2.236
 deny from 201.58.79.198
 deny from 201.81.20.159
 deny from 201.82.20.130
 deny from 212.45.25.97
 allow from all
</Limit>


причем каждый из этих IP пытался выполнить более 230 запросов в секунду (за минуту насчитал более 7800, но с заголовком ответа 403 такая цифра не страшна)

теперь я просто заменяю дефолтный index.php Joomla на свой подправленный....(Joomla 2.5)
« Последнее редактирование: 29.06.2012, 07:18:32 от likrion » Записан
voland
Профи
********

Репутация: +487/-86
Online Online

Пол: Мужской
Сообщений: 8711


любит наш народ всякое гавно...


« Ответ #11 : 29.06.2012, 05:09:52 »

Более логично использовать решение на стороне сервера, например - mod-evasive.
Такое решение позволит не грузить php-скрипт лишний раз, да и работать будет даже на статике.
Записан
likrion
Завсегдатай
*****

Репутация: +127/-2
Offline Offline

Пол: Мужской
Сообщений: 752



« Ответ #12 : 29.06.2012, 05:49:24 »

полностью согласен, и к сожалению  как и скрипт , спасет только от примитивных атак и флудеров (кои 70%), в данном случае преимущество скрипта в том что он позволит защищаться тем кто не имеет собственного сервера и восседает на виртуальных хостах
Записан
solidbreaks
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #13 : 04.09.2012, 16:04:57 »

будет работать под Joomla 1.5 ?
Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2653


step by step


« Ответ #14 : 04.09.2012, 21:12:58 »

будет работать под Joomla 1.5 ?
да.
Записан
Koziavka
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #15 : 04.01.2014, 00:55:23 »


там же все написано.  

как сделал я...
1 . создал новую базу (общую для всех сайтов(у меня их более 10)) firewall
2 . создал 2 таблицы -  укол:

и воткнул скипт в index.php сайта (немного подправив)
листинг моего index.php

в итоге я имею небольшую защиту от ddos (конечно от нормального ддоса ничего не спасет но) от школьников и флудеров защиту держит..... все кто посылают более 30 запросов за 10 сек. автоматически прописываются в .htaccess и вход на сайт им "заказан"
Взял на вооружение Вашу методику...
Но что-то пошло не так.
В БД в таблице Блэков появился один ДДОссер. Вижу там его IP-шник..
...а вот в конце моего .htaccess вот какая картина почему-то:
Код:

<Limit GET POST>
 order allow,deny
 deny from
 allow from all
</Limit>

То есть вроди как все отрабатывает нормально, и скрипт делает вставку, только почему-то сам IP адрес ДДОСера в файл не записывает. Вместо IP-шника пусто. Хотя в Базе четко его IP-шник вижу. Знатоки, подскажите пожалуйста что не так?

Вдогонку: Кстати после обновления скриптом моего .htaccess вот таким макаром (то есть "deny from пусто") сайт мёртво лёг и выдавал ошибку 50х пока я ручками не выкосил всю эту секцию.  Angry
Помогите разобраться, пожалуйста, так-то рецепт вроди бы стоящий.... Ато эти Школьники уже забодали!     !

Или может подскажите рецепт по-современнее, по-актуальнее и по-надежнее.
Причем донимают меня какие-то немцы и прочие иншаземныя гады, а сайт-то мой для рускоязычного населения - была б моя воля - вообще бы доступ для нерусских прикрыл бы...
« Последнее редактирование: 04.01.2014, 01:05:05 от Koziavka » Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1413


« Ответ #16 : 04.01.2014, 17:35:07 »

DDOS может происходить через SSH и другие сервисы - не только Apache.  Если проблема серьезная, то нужно переходить на VPS/VDS. Есть готовые пакеты anti-DDOS. http://www.fail2ban.org/wiki/index.php/Main_Page и др.
Записан
Koziavka
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #17 : 04.01.2014, 19:03:40 »

DDOS может происходить через SSH и другие сервисы - не только Apache.  Если проблема серьезная, то нужно переходить на VPS/VDS. Есть готовые пакеты anti-DDOS. http://www.fail2ban.org/wiki/index.php/Main_Page и др.
У меня, пардон, не свой собственный выделенный сервер, куда я могу понатыкать всего, что захочу. Я хостингуюсь у не самого забитого и достаточно известного хостинг-провайдера - jino.ru и пользую то, что он мне с царского плеча выделяет...
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1413


« Ответ #18 : 04.01.2014, 19:09:02 »

Можно конечно навесить задач на php, но на мой взгляд, это не задача php. Я даже думаю, что это не задача именно веб-сервера, а задача OS в первую очередь, в виде настройки firewall в комплексе с настройками сервисов. Пакеты, предлагаемые для UNIX-подобных OS, содержат фильтры для различных сервисов, не только php.
« Последнее редактирование: 04.01.2014, 19:23:19 от capricorn » Записан
Koziavka
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #19 : 04.01.2014, 19:21:01 »

Можно конечно навесить задач на php, но на мой взгляд, это не задача php. Я даже думаю, что это не задача именно веб-сервера, а задача OS в первую очередь, в виде настройки firewall в комплексе с настройками сервисов.
Вот именно. Вот и получается, что пользуясь услугами виртуального хостинга, я не могу никак на эти вещи влиять. А провайдер не спешит эти вопросы решать хоть как-то... 
Записан
Koziavka
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #20 : 04.01.2014, 19:22:54 »

Подскажите лучше, как скрипт подправить? Или как моэно эффективно решать проблему в моем случае...
Так-то меня серьезно не долбят - так только детские шалости... Вот от них и хочу защититься как-то...
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1413


« Ответ #21 : 04.01.2014, 19:28:26 »

На вирт хостинге вы никак не защититесь от серьезной DDOS. Вам выше знающие люди дали совет что делать против доморощенных атак.
« Последнее редактирование: 10.01.2014, 01:31:06 от capricorn » Записан
Koziavka
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #22 : 04.01.2014, 19:38:00 »

На вирт хостинге вы никак не защититесь от серьезной DDOS. Вам выше знающие люди дали совет что делать против доморощенных атак.
Да мне не надо от серьезной!  Меня сканируют школьники.
Меня вполне устроит вот этот рецепт достопочтенного likrionа. Последний скрипт, который накапливает в БД адреса и время запросов, таким образом вычисляя злоумышленников, и найдя таковых глушит их средствами .htaccess
Просто у меня он почему-то IP-шник не подставил при записи в файл. Вот ума не приложу почему? Так-то остальное все, как часы отработало верно...
Записан
wishlight
Профи
********

Репутация: +200/-1
Offline Offline

Пол: Мужской
Сообщений: 3487


skype aqaus.com


« Ответ #23 : 04.01.2014, 19:39:14 »

Джино коанешна DDOS шатал...

Если вас досят, то тут впс впору.
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1413


« Ответ #24 : 04.01.2014, 19:45:22 »

Цитировать
Меня сканируют школьники.
Чем же вы так школьникам не угодили? Девчонку что-ли не поделили?
Записан
Koziavka
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #25 : 04.01.2014, 19:49:56 »

Чем же вы так школьникам не угодили? Девчонку что-ли не поделили?
А Вы, уважаемый, кроме ФЛУДа еще на что-нибудь годитесь? Человек ждет конкретики, а Вы тут СПАМите.
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1413


« Ответ #26 : 04.01.2014, 20:07:04 »

removed
« Последнее редактирование: 10.01.2014, 01:31:40 от capricorn » Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2653


step by step


« Ответ #27 : 04.01.2014, 22:35:40 »

Какой файл?
http://joomlaforum.ru/index.php/topic,210027.msg1156248.html#msg1156248
Koziavka
Проверь - пропиши в конце index.php
var_dump($htaccess_ip) ;
Выведет члены массива $htaccess_ip, внизу страницы сайта.
Записан
gmf
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #28 : 05.01.2014, 19:44:24 »

Присоединюсь к вопросу Koziavka
Аналогичная ситуация после вставки скрипта и многократного обновления страницы делает запись, но не указывает айпи. Причем строк "deny from " может чделать несколько. После чего естественно error 500 и все такое. Как быть?

Примечательно, что попросил проверить человека с другого айпи, его обращения в базу пишутся, но в блеклист он не попадает и запись в .htaccess не производится соответственно.
Записан
Koziavka
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #29 : 05.01.2014, 19:47:31 »

Присоединюсь к вопросу Koziavka
Аналогичная ситуация после вставки скрипта и многократного обновления страницы делает запись, но не указывает айпи. Причем строк "deny from " может чделать несколько. После чего естественно error 500 и все такое. Как быть?

Примечательно, что попросил проверить человека с другого айпи, его обращения в базу пишутся, но в блеклист он не попадает и запись в .htaccess не производится соответственно.
Во-во!  У меня аккурат один в один те же симптомы. Joomla 2.5.предпоследняя.
« Последнее редактирование: 05.01.2014, 20:06:34 от Koziavka » Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet