| |
|
|
| | Вот я написал гостевую, и понял что если ее поставить на сайт то какйо нить НУБ может флудить и флудить в ней до тех пор пока на сайте место незакончится, и мой портал закроют,.. Так вот знает ли кто нибудь как сделать проверху на похожее сообщение, ну короче двумя словами анти флуд ) могу дать сорец гостевой... | |
| |
|
|
| |
|
|
| |
для: ZetRider
(31.10.2005 в 15:19)
| | | сделай так чтобы сообщения добавлялись после просмотра их администратором:) - лучший антифлуд | |
| |
|
|
| |
|
|
| |
для: P@Sol
(31.10.2005 в 15:31)
| | | =) Да ето самый лучший способ! но вдруг я отлучусь на неделю! и что тогда? конечно есть второй админ, но всеже) и какая разница сообщения которые должен проверить админ всеравно будут записыватся в лог, и место сайта всеравно флудером возможно будет заполнено) так что, здесь нужен програмный навык.. | |
| |
|
|
| |
|
|
| |
для: ZetRider
(31.10.2005 в 15:46)
| | | если он захочет, то сможет добавить 10000000 разных сообщений... | |
| |
|
|
| |
|
|
| |
для: P@Sol
(31.10.2005 в 16:05)
| | | Ну блин я думаю таких мудаков в мире ненайдется))) Мне кажется от темы уходим! | |
| |
|
|
| |
|
|
| |
для: ZetRider
(31.10.2005 в 16:07)
| | | где данные хранятся?
по осторожнее с выражениями;) | |
| |
|
|
| |
|
|
| |
для: P@Sol
(31.10.2005 в 16:14)
| | | Контроль сессию, ИП и что угодно, и не разрешай быстрее 40 секунд отпавлять послания и не более пяти например. | |
| |
|
|
| |
|
|
| |
для: ZetRider
(31.10.2005 в 15:46)
| | | Если нужно именно по похожести, то поглядите эти функции (в конце):
http://www.softtime.ru/bookphp/gl3_11.php
А вообще - поставить интервал на отправку в 1 мин, и за час это всего 60 сообщений... и то если флудер ну ооочень упорный:) | |
| |
|
|
| |
|
|
| |
для: ZetRider
(31.10.2005 в 15:19)
| | | Банально - после добавления нового поста ставить куку минуты на 2, и проверять, если она существует (жива), то говорить юзерам, что должный промежуток времени между сообщениями ещё не истёк. Таким образом 100% антифлуд не сделаешь, но для нуба это будет хорошим барьером... | |
| |
|
|
| |
|
|
| |
для: DDK
(31.10.2005 в 16:35)
| | | Да проще:) при записи сообщения писать в базу так же время и ip и при добавлении нового проверять есть ли от этого ip сообщения новее 2 минут. | |
| |
|
|
| |
|
|
| |
для: Loki
(31.10.2005 в 16:43)
| | | так... все попорядку))
re: P@Sol
данные в *.txt файле, а выражение ) вроде ничего такова) я никово необзывал)
re: XPraptor
да ето тема) осуществить бы ее еще) Щас буду кодить)
re: Loki
спасиба за фнкции, пригодятся! А Флудеры и нетакие бывают)
re: DDK
я с куками недружу) поетому отпадает...
re2: Loki
тоже правильная вещь!) С кодом можеш помоч? | |
| |
|
|
| |
|
|
| |
для: ZetRider
(31.10.2005 в 18:07)
| | | Господи, да что там такого с ложного с куками - ставится эта кука так:
<?
setcookie("waitnow", "true", time()+120);
?>
|
Проверяется, существует ли она или нет так:
<?
if(isset($_COOKIE['waitnow'])) {
...код...
} else {
...код...
}
?>
|
Я конечно понимаю, что совет Локи обеспецит почти 99% защиту, но имхо она такая мощная (строк кода там будет не мало) и не нужна...
ЗЫ: Имхо вам стоит потратить какие-то 30 минут на то, что бы прочитать это: http://www.softtime.ru/bookphp/gl8_2.php | |
| |
|
|
| |
|
|
| |
для: DDK
(31.10.2005 в 18:51)
| | | угу спасиба! | |
| |
|
|
| |
|
|
| |
для: ZetRider
(31.10.2005 в 18:07)
| | | >re2: Loki
>тоже правильная вещь!) С кодом можеш помоч?
Гм... скорее с алгоритмом:) А что с кодом не понятно? | |
| |
|
|
| |
|
|
| |
для: Loki
(02.11.2005 в 09:19)
| | | внедрить вот етот код
<?
setcookie("waitnow", "true", time()+120);
?>
<?
if(isset($_COOKIE['waitnow'])) {
...код...
} else {
...код...
}
?>
в етот
<?php
$files = "log/gb.txt"; // путь к текстовой БД
if ( $email=="" ) {$email="нет";}
if ( $url=="" ) {$url="нет";}
$mesg=eregi_replace("<","",$mesg);
$mesg=eregi_replace(">","",$mesg);
$mesg=eregi_replace("\n","",$mesg);
$mesg=eregi_replace("\t","",$mesg);
$mesg=eregi_replace("<","",$mesg);
$mesg=eregi_replace(">","",$mesg);
$email=eregi_replace("<","",$email);
$email=eregi_replace(">","",$email);
$email=eregi_replace("\n","",$email);
$email=eregi_replace("\t","",$email);
$email=eregi_replace("<","",$email);
$email=eregi_replace(">","",$email);
$imya=eregi_replace("<","",$imya);
$imya=eregi_replace(">","",$imya);
$imya=eregi_replace("\n","",$imya);
$imya=eregi_replace("\t","",$imya);
$imya=eregi_replace("<","",$imya);
$imya=eregi_replace(">","",$imya);
$url=eregi_replace("<","",$url);
$url=eregi_replace(">","",$url);
$url=eregi_replace("\n","",$url);
$url=eregi_replace("\t","",$url);
$url=eregi_replace("<","",$url);
$url=eregi_replace(">","",$url);
$mesg=substr($mesg,0,499);
$email=substr($email,0,39);
$imya=substr($imya,0,39);
$url=substr($url,0,39);
if ($mesg != "" && $imya != "")
{
$time = Date("d.m.y"); // настройка даты
// Осталькой код переделывать не рекомендуется
$zapis = "\n
<br>
<table border='1' width='100%' cellspacing='0' cellpadding='0' bordercolor='#000000'>
<tr>
<td width='116'><b><a href='mailto:$email'>$imya</a>($time)</b><br>
<b>ICQ: </b>$url<br></td>
<td><b><font face='Courier'>$mesg</font></b><br></td>
</tr>
</table>
";
?> | |
| |
|
|
| |
|
|
| |
для: ZetRider
(02.11.2005 в 11:35)
| | | На самом деле, придется взять код, отвечающий за считывание данных из файла. Причем, желательно считывать их с конца, чтобы не гонять цикл лишный раз:
считываете последнюю строку: проверяете. Если тогин такой же как введен, а дата сообщения больше чем текущая минус 1 минута, то говорите что нельзя добавлять так часто.
А если вы хотите задействовать другой способ, то придется считывать последовательно все сообщения и проверять их на "похожесть". | |
| |
|
|
| |
|
|
| |
для: Loki
(02.11.2005 в 12:45)
| | | ага) правильно... так, во идея в отдельный файл записывать айпи и время, и проверять. | |
| |
|
|
| |
|
|
| |
для: ZetRider
(02.11.2005 в 13:51)
| | | вот типа запись времени и айпи
<?
$ip = getenv("REMOTE_ADDR");
$time = date("H:i:s");
$browser = str_replace (" ", "_", $HTTP_USER_AGENT);
$fp = @fopen("snif.log", "a");
@fputs($fp, "IP: $ip ; time: $time<br>");
@fclose($fp);
echo "$ip, $time";
?>
а как сделать проверку? | |
| |
|
|
| |
|
|
| |
для: ZetRider
(03.11.2005 в 11:35)
| | | Так же как вы выводите данные на экран: открыли файл и начали читать из него данные, сравнивая их с условием. | |
| |
|
|