защита от F5

Разработка своих веб-приложений и страничек

защита от F5

Сообщение dll » 03 апр 2010, 17:42

мой вопрос - как ограничить пользователя с запросами к серверу
как это можно сделать , есть варианты ? нужен счётчик таймер и условие чтобы счётчик не переплёвывал заданное время в таймере , а как это всё написать я не представляю :D
Изображение
Изображение
Аватара пользователя
dll
Активный участник
 
Сообщения: 179
Зарегистрирован: 17 сен 2008, 11:57
Домен: 3ngels.vfose.ru

Re: защита от F5

Сообщение Zver » 03 апр 2010, 17:51

Все можно реализовать PHP. И кстати, видел тут, на форуме статью - защита от DDoS.
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: защита от F5

Сообщение dll » 03 апр 2010, 18:00

ненавижу трёп , ответ-те на поставленный вопрос! не знаешь промолчи.
DDoS это не DoS от DDoS-а ты mod_limit не защитишься. в общем если прёт поболтать то в личку пишите , а тут чисто по теме , варианты пожалуйста.
Изображение
Изображение
Аватара пользователя
dll
Активный участник
 
Сообщения: 179
Зарегистрирован: 17 сен 2008, 11:57
Домен: 3ngels.vfose.ru

Re: защита от F5

Сообщение Zver » 03 апр 2010, 18:16

PHP вариант - создаешь отдельную таблицу с данными - ip, браузер, информация об ОСи, и поле "time".
При просмотре страницы - проверяй, есть ли такой гость в БД, если нет - то забивай, если есть - то сравнивая значения поля time с функцией php - time();. Что за функция ищи в мануале.

Пример -

Код: Выделить всёРазвернуть
// .. подключение к бд
$sql = "SELECT ip, browser, os, time FROM visitors WHERE ip = '".$REMOTE_ADDR."' LIMIT 1";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);

if(!
$row)
{
// Добавляем гостя с его данными
}
else
{
if(
time() - $row['time'] < 2)
{
 die('So fast... Wait few seconds.');
}
}
 


ЗЫ: Тут форум поддержки, ответы на вопросы, а не "напишите за меня".
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: защита от F5

Сообщение dll » 03 апр 2010, 18:27

а как думаешь, например с сессиями можно что нибудь придумать? бд лишний раз чтобы не трогать эм?)
что то я вот с этим не пойму как он определит именно ip = '".$REMOTE_ADDR."'
может быть ip = '".$_SERVER[REMOTE_ADDR]."' или прям так прокатит , да собствено зачем туда os browser впихивать. Ладн давай пример с сессиями , всем полезно будет знать как делать , вообще это всем обязательно нужно делать )

З.Ы: Zver , вот именно :D "ответы на вопросы" не рассуждения.
Изображение
Изображение
Аватара пользователя
dll
Активный участник
 
Сообщения: 179
Зарегистрирован: 17 сен 2008, 11:57
Домен: 3ngels.vfose.ru

Re: защита от F5

Сообщение Zver » 03 апр 2010, 18:34

Хех, с сессиями не прокатит - если досить будут ботом и с разных IP. Но если уж очень хочется:

Код: Выделить всёРазвернуть

<?php
if(empty($_SESSION['last_time']))
{
   $_SESSION['last_time'] = time();
}
else
{
  if(time() - $_SESSION['last_time'] < 2)
  {
    $_SESSION['last_time'] = time();
    die('So fast... Wait few seconds & have fun!');
  }
}
?>
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: защита от F5

Сообщение dll » 03 апр 2010, 18:36

ну вот последнее от F5 не катит тоже , да и самой сессии нету. :D
Изображение
Изображение
Аватара пользователя
dll
Активный участник
 
Сообщения: 179
Зарегистрирован: 17 сен 2008, 11:57
Домен: 3ngels.vfose.ru

Re: защита от F5

Сообщение dll » 03 апр 2010, 18:41

Код: Выделить всёРазвернуть

<?php
session_start
(); // а вот так  прокатывает но только тогда когда юзер открывает сайт впервые.
if(empty($_SESSION['last_time']))
{
   $_SESSION['last_time'] = time();
}
else
{
  if(time() - $_SESSION['last_time'] < 2)
  {
    $_SESSION['last_time'] = time();
    die('So fast... Wait few seconds & have fun!');
  }
}
?>
 
Изображение
Изображение
Аватара пользователя
dll
Активный участник
 
Сообщения: 179
Зарегистрирован: 17 сен 2008, 11:57
Домен: 3ngels.vfose.ru

Re: защита от F5

Сообщение Zver » 03 апр 2010, 18:47

>_< загналсо... Щас доведу скрипт до товарного вида.
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: защита от F5

Сообщение Zver » 03 апр 2010, 18:49

Код: Выделить всёРазвернуть

session_start
();
if(
$_SESSION['time'])
{
    if(
time() - $_SESSION['time'] <= 1)
    {
        
$_SESSION['time'] = time();
        die(
'So fast... Wait few seconds & have fun!');
    }
    
$_SESSION['time'] = time();
}
else
{
    
$_SESSION['time'] = time();
}

 
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

След.

Вернуться в PHP, HTML, CSS...

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32

cron