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

Форум PHP

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

 

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

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

тема: Защита от спама гостевой книги
 
 автор: СерегаВЕБ   (04.03.2006 в 16:07)   письмо автору
81.2 Кб
 
 

Уже месяца 2 шлют вот такую дрянь ----->
Самое интересное, что не на русском.
IP адреса они меняют, поставил проверку входа на первую страницу - не помогает, попробывал куками взять - прорываются. Хост -не определяется.
Прямо не знаю что больше можно сделать.

   
 
 автор: cheops   (04.03.2006 в 19:58)   письмо автору
 
   для: СерегаВЕБ   (04.03.2006 в 16:07)
 

хм... я гляжу в каждом сообщении имеется Mozilla - проверяйте имеется ли вхождение в сообщении Mozilla - если есть, то не добавляйте его в базу - по крайней мере от этих спамеров защититесь...

   
 
 автор: ascerb   (05.03.2006 в 22:02)   письмо автору
 
   для: СерегаВЕБ   (04.03.2006 в 16:07)
 

У меня аналогичная проблема - спамят гостевую книгу. (скрипт с этого сайта версия 1.2.1 с БД).

Каждый день 5-6 сообщений. Продолжается давно, удалять уже надоело.

Спамят так: пишут типа "Well Done" или "Good Design" или еще что-то. В поле УРЛ ставят свои адреса. Видимо повышают свой ПР...

Уж не знаю что делать...

   
 
 автор: JIEXA   (05.03.2006 в 23:57)   письмо автору
 
   для: СерегаВЕБ   (04.03.2006 в 16:07)
 

Используйте секретный код при добавлении сообщения

   
 
 автор: Panker   (06.03.2006 в 06:44)   письмо автору
 
   для: JIEXA   (05.03.2006 в 23:57)
 

в крадце! как это сделать ?

   
 
 автор: Artemy   (06.03.2006 в 12:54)   письмо автору
 
   для: Panker   (06.03.2006 в 06:44)
 

Что бы не изобретать велосипед, найдите какой-нибудь форум с такой системой(например: Invision Power Board). Скачайте его скрипт и посмотрите как там это реализованно.

   
 
 автор: СерегаВЕБ   (06.03.2006 в 17:06)   письмо автору
 
   для: Artemy   (06.03.2006 в 12:54)
 

Mozilla - это user agent, просто времени не было прописать для него стиль.
Секретный код я добавляю, только это не помогает.
Можно конечно сделать картинку с цифрами, а еще лучше с русским текстом ("пятьдесят восемь" например), они наверное русский не понимают. Обломаются...

   
 
 автор: Artemy   (06.03.2006 в 17:10)   письмо автору
 
   для: СерегаВЕБ   (06.03.2006 в 17:06)
 

Меня одно время одолевали китайцы или японцы, черт их разберет. Пришлось поставить рег. выражение на ввод только русских, английский букв и цифр.

А user-agent можно любой прописать.

   
 
 автор: partizan   (06.03.2006 в 17:26)   письмо автору
 
   для: СерегаВЕБ   (04.03.2006 в 16:07)
 

1) Вариант такой (незнаю что за система с секретным кодом, может ето оно и есть) :

Когда юзер собирается добавить сообщение, вместе с формой отправлять ему java-script, с некоторой функцией, и рандомно-сгенерированное число.
И вместе с сообщением клиент должен передать результат функции от этого числа

2) Еще такой вариант:
Пишеш скрипт, например, logo.php который возвращает картинку

На страницу с формой помешаеш эту картинку <img src="logo.php">

Но скрипт logo.php не отлько возвращает картинку, но и запоминает в сессию, кто к нему обращался.
Робот скорее всего не будет грузить картинки.
Правда в этом случае и юзер, у которого картинки отключены запостить не сможет

   
 
 автор: runtime   (06.03.2006 в 17:28)   письмо автору
 
   для: СерегаВЕБ   (04.03.2006 в 16:07)
 

может если хостинг не определяетса, просто отсекать такие сообщения?

   
 
 автор: СерегаВЕБ   (07.03.2006 в 15:50)   письмо автору
 
   для: runtime   (06.03.2006 в 17:28)
 

Да, ограничения по символам поставить стоит. С картинкой конечно замутно, но щтука это надежная от роботов. Понадобится распознание текста и все такое.
Вот написал:

<?

$rnd
=rand(1000,9999);

$tho=array("",
"тысяча",
"две тысячи",
"три тысячи",
"четыре тысячи",
"пять тысяч",
"шесть тысяч",
"семь тысяч",
"восемь тысяч",
"девять тысяч");

$hun=array("",
" сто",
" двести",
" тристо",
" четыресто",
" пятьсот",
" шестьсот",
" семьсот",
" восемьсот",
" девятьсот");

$dec=array("",
" - ",
" двадцать",
" тридцать",
" сорок",
" пятьдесят",
" шестьдесят",
" семьдесят",
" восемьдесят",
" девяносто");

$des=array(" десять",
" одиннадцать",
" двенадцать",
" тринадцать",
" четырнадцать",
" пятнадцать",
" шестнадцать",
" семнадцать",
" восемнадцать",
" девятнадцать");

$edi=array("",
" один",
" два",
" три",
" четыре",
" пять",
" шесть",
" семь",
" восемь",
" девять");

$stext=$tho[substr($rnd,0,1)].$hun[substr($rnd,1,1)];
if (
substr($rnd,2,1)==1) {
$stext.=$des[substr($rnd,3,1)];
} else {
$stext.=$dec[substr($rnd,2,1)].$edi[substr($rnd,3,1)];
}

//echo $rnd;
//echo "<br>";
//echo $stext;
$im=imagecreatetruecolor(550,20);
imagefill($im,0,0,0xE4E4E4);
imagefttext ($im100,0,150'times',$stext );


header("Content-type: image/gif;");
imagegif($im);
?>


Русские числительные от китайцев точно помогут.
Только со шрифтом проблемы - русские символы не пишутся.

   
 
 автор: СерегаВЕБ   (07.03.2006 в 18:30)   письмо автору
 
   для: СерегаВЕБ   (07.03.2006 в 15:50)
 

Ура получилось:


<?

$rnd
=rand(1000,9999);

$tho=array("",
"тысяча",
"две тысячи",
"три тысячи",
"четыре тысячи",
"пять тысяч",
"шесть тысяч",
"семь тысяч",
"восемь тысяч",
"девять тысяч");

$hun=array("",
" сто",
" двести",
" тристо",
" четыресто",
" пятьсот",
" шестьсот",
" семьсот",
" восемьсот",
" девятьсот");

$dec=array("",
" - ",
" двадцать",
" тридцать",
" сорок",
" пятьдесят",
" шестьдесят",
" семьдесят",
" восемьдесят",
" девяносто");

$des=array(" десять",
" одиннадцать",
" двенадцать",
" тринадцать",
" четырнадцать",
" пятнадцать",
" шестнадцать",
" семнадцать",
" восемнадцать",
" девятнадцать");

$edi=array("",
" один",
" два",
" три",
" четыре",
" пять",
" шесть",
" семь",
" восемь",
" девять");

$stext=$tho[substr($rnd,0,1)].$hun[substr($rnd,1,1)];
if (
substr($rnd,2,1)==1) {
$stext.=$des[substr($rnd,3,1)];
} else {
$stext.=$dec[substr($rnd,2,1)].$edi[substr($rnd,3,1)];
}
$uni="";
for (
$i=0;$i<strlen($stext);$i++) {
$codex=(ord(substr($stext,$i,1))+848);
if (
$codex==880) {$uni.=" ";} else
$uni.="&#".$codex.";";
}

$im=imagecreatetruecolor(550,20);
imagefill($im,0,0,0xE4E4E4);
ImageTTFText ($im1102150x676767'arial.ttf'$uni);

$hostname "localhost";
$username "torpedo";
$passik "";
$dbName "torpedo";

MYSQL_CONNECT($hostname,$username,$passik) OR DIE("Не могу создать соединение ");
mysql_select_db("$dbName") or die("Не могу выбрать базу данных "); 
$query "insert into cifry values($rnd,".time().");";
MYSQL_QUERY($query);

header("Content-type: image/gif;");
imagegif($im);
?>


Шрифт можно выбрать любой из папки windows/fonts/

   
 
 автор: Trianon   (07.03.2006 в 18:39)   письмо автору
 
   для: СерегаВЕБ   (07.03.2006 в 18:30)
 

триста,
четыреста

   
 
 автор: СерегаВЕБ   (08.03.2006 в 13:21)   письмо автору
 
   для: Trianon   (07.03.2006 в 18:39)
 

Бывает

   
 
 автор: ascerb   (12.03.2006 в 17:00)   письмо автору
 
   для: СерегаВЕБ   (07.03.2006 в 18:30)
 

А если кто-то из заграницы захочет написать что-то в гостевой?

Я думаю вот это дело прикрутить к гостевой http://www.sitepoint.com/print/toughen-forms-security-image

   
Rambler's Top100
вверх

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