|
|
|
| Люди, помогите!
Очень срочно мне надо на сайте сделать антифлуд, но я б его сделал, если б знал как...
Под антифлудом я подразумеваю запрет частого обновления страницы...
И возможно ли это сделать без БД???
Хочеться сделать так, чтоб если юзер часто обновлял страницу, его перенаправляло на страницу с уведомлением...
Можно конечно с кукисами работать, но я полагаю что вам виднее.
Заранее благодарен!... | |
|
|
|
|
|
|
|
для: 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;
}
// ...
// Тут запросы к базе и прочая херня, которая грузит сервер
?>
|
| |
|
|
|
|
|
|
|
для: Красная_шляпа
(23.08.2010 в 21:49)
| | Сессии — это прекрасно. Сработает на обычных пользователях, но не на флудерах, намеренно отключивших куки. | |
|
|
|
|
|
|
|
для: Саня
(24.08.2010 в 20:40)
| | А что, сессии зависят от куков? Как мне известно, сессии сохраняются на сервере, а не на машине пользователя! По этому пользователь(в данном случае флудер) не как не сможет обойти это! | |
|
|
|
|
|
|
|
для: Гавриленко Дмитрий
(24.08.2010 в 20:58)
| | в куках хранится идентификатор сессии. | |
|
|
|
|
|
|
|
для: Гавриленко Дмитрий
(24.08.2010 в 20:58)
| | Послушайте, ну хотя бы чуть-чуть-то надо, наверное, ознакомиться с вопросом, перед тем как такую ахинею писать?!
В мануал заглянуть, книжки какие почитать, в гугл зайти на худой конец...
Ну нельзя же так! | |
|
|
|
|
|
|
|
для: Гавриленко Дмитрий
(24.08.2010 в 20:58)
| | Как вы думаете, как веб-сервер определяет какому клиенту принадлежит та или иная сессия на сервере? | |
|
|
|
|
|
|
|
для: Саня
(24.08.2010 в 20:40)
| | решается элементарно
<?
setcookie("test", true, time() + 1);
$_COOKIE["test"] or die('включите куки');
// а дальше код что привел я
?>
|
| |
|
|
|
|
|
|
|
для: Красная_шляпа
(25.08.2010 в 00:12)
| | Это не помешает злоумышленнику послать куки с именем test, но не посылать куки с именеи PHPSESSID или как там оно переименовано... | |
|
|
|
|
|
|
|
для: Саня
(25.08.2010 в 00:17)
| | ну так и его проверить можно а вообще это какая-то паранойя | |
|
|
|
|
|
|
|
для: Красная_шляпа
(25.08.2010 в 00:25)
| | И что будет если клиент передаст куки test, но не передаст PHPSESSID?
Тем более что код
<?
setcookie("test", true, time() + 1);
$_COOKIE["test"] or die('включите куки');
| Не сработает. | |
|
|
|
|
|
|
|
для: Саня
(25.08.2010 в 00:36)
| | ты понял о чем я короче проверяй если тебе надо наличие в куки элемета с ключом пхпсид | |
|
|
|
|
|
|
|
для: Красная_шляпа
(25.08.2010 в 00:40)
| | Короче понятно. Вы не понимаете как работает механизм сессий в РНР. | |
|
|
|
|
|
|
|
для: Саня
(25.08.2010 в 00:36)
| | тебе виднее | |
|
|
|
|
|
|
|
для: Красная_шляпа
(23.08.2010 в 21:49)
| | Я переработал слегка...Спасибо огромное)))) | |
|
|
|
|
|
|
|
для: nikolayers
(01.09.2010 в 18:17)
| | Код в студию! | |
|
|
|
|
|
|
|
для: lElectroHardl
(01.09.2010 в 18:56)
| | 500 очков, буква... | |
|
|
|
|
|
|
|
для: nikolayers
(01.09.2010 в 19:38)
| | "а" :).
Нет, правда, покажи, что получилось коллективным трудом. | |
|
|
|