Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ANTI FLOOD PHP
 
 автор: nikolayers   (23.08.2010 в 14:43)   письмо автору
 
 

Люди, помогите!
Очень срочно мне надо на сайте сделать антифлуд, но я б его сделал, если б знал как...
Под антифлудом я подразумеваю запрет частого обновления страницы...
И возможно ли это сделать без БД???
Хочеться сделать так, чтоб если юзер часто обновлял страницу, его перенаправляло на страницу с уведомлением...
Можно конечно с кукисами работать, но я полагаю что вам виднее.
Заранее благодарен!...

  Ответить  
 
 автор: Красная_шляпа   (23.08.2010 в 21:49)   письмо автору
 
   для: nikolayers   (23.08.2010 в 14:43)
 


<?php

session_start
();
// ...

$t time();
if (isset(
$_SESSION["f"]) and ($t $_SESSION["f"] < 15)) {
die(
"<p>Не стоит страницу обновлять чаще чем раз в 15 секунд.</p>");
}
else {
$_SESSION["f"] = $t;
}

// ...
// Тут запросы к базе и прочая херня, которая грузит сервер

?>

  Ответить  
 
 автор: Саня   (24.08.2010 в 20:40)   письмо автору
 
   для: Красная_шляпа   (23.08.2010 в 21:49)
 

Сессии — это прекрасно. Сработает на обычных пользователях, но не на флудерах, намеренно отключивших куки.

  Ответить  
 
 автор: Гавриленко Дмитрий   (24.08.2010 в 20:58)   письмо автору
 
   для: Саня   (24.08.2010 в 20:40)
 

А что, сессии зависят от куков? Как мне известно, сессии сохраняются на сервере, а не на машине пользователя! По этому пользователь(в данном случае флудер) не как не сможет обойти это!

  Ответить  
 
 автор: serenya1983   (24.08.2010 в 20:59)   письмо автору
 
   для: Гавриленко Дмитрий   (24.08.2010 в 20:58)
 

в куках хранится идентификатор сессии.

  Ответить  
 
 автор: Trianon   (24.08.2010 в 21:07)   письмо автору
 
   для: Гавриленко Дмитрий   (24.08.2010 в 20:58)
 

Послушайте, ну хотя бы чуть-чуть-то надо, наверное, ознакомиться с вопросом, перед тем как такую ахинею писать?!

В мануал заглянуть, книжки какие почитать, в гугл зайти на худой конец...
Ну нельзя же так!

  Ответить  
 
 автор: Саня   (24.08.2010 в 22:59)   письмо автору
 
   для: Гавриленко Дмитрий   (24.08.2010 в 20:58)
 

Как вы думаете, как веб-сервер определяет какому клиенту принадлежит та или иная сессия на сервере?

  Ответить  
 
 автор: Красная_шляпа   (25.08.2010 в 00:12)   письмо автору
 
   для: Саня   (24.08.2010 в 20:40)
 

решается элементарно
<?
setcookie
("test"truetime() + 1);
$_COOKIE["test"] or die('включите куки');
// а дальше код что привел я
?>

  Ответить  
 
 автор: Саня   (25.08.2010 в 00:17)   письмо автору
 
   для: Красная_шляпа   (25.08.2010 в 00:12)
 

Это не помешает злоумышленнику послать куки с именем test, но не посылать куки с именеи PHPSESSID или как там оно переименовано...

  Ответить  
 
 автор: Красная_шляпа   (25.08.2010 в 00:25)   письмо автору
 
   для: Саня   (25.08.2010 в 00:17)
 

ну так и его проверить можно а вообще это какая-то паранойя

  Ответить  
 
 автор: Саня   (25.08.2010 в 00:36)   письмо автору
 
   для: Красная_шляпа   (25.08.2010 в 00:25)
 

И что будет если клиент передаст куки test, но не передаст PHPSESSID?
Тем более что код
<? 
setcookie
("test"truetime() + 1); 
$_COOKIE["test"] or die('включите куки');
Не сработает.

  Ответить  
 
 автор: Красная_шляпа   (25.08.2010 в 00:40)   письмо автору
 
   для: Саня   (25.08.2010 в 00:36)
 

ты понял о чем я короче проверяй если тебе надо наличие в куки элемета с ключом пхпсид

  Ответить  
 
 автор: Саня   (25.08.2010 в 00:41)   письмо автору
 
   для: Красная_шляпа   (25.08.2010 в 00:40)
 

Короче понятно. Вы не понимаете как работает механизм сессий в РНР.

  Ответить  
 
 автор: Красная_шляпа   (25.08.2010 в 00:42)   письмо автору
 
   для: Саня   (25.08.2010 в 00:36)
 

тебе виднее

  Ответить  
 
 автор: nikolayers   (01.09.2010 в 18:17)   письмо автору
 
   для: Красная_шляпа   (23.08.2010 в 21:49)
 

Я переработал слегка...Спасибо огромное))))

  Ответить  
 
 автор: lElectroHardl   (01.09.2010 в 18:56)   письмо автору
 
   для: nikolayers   (01.09.2010 в 18:17)
 

Код в студию!

  Ответить  
 
 автор: nikolayers   (01.09.2010 в 19:38)   письмо автору
 
   для: lElectroHardl   (01.09.2010 в 18:56)
 

500 очков, буква...

  Ответить  
 
 автор: lElectroHardl   (01.09.2010 в 22:32)   письмо автору
 
   для: nikolayers   (01.09.2010 в 19:38)
 

"а" :).

Нет, правда, покажи, что получилось коллективным трудом.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования