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

Форум PHP

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

 

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

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

тема: Боты в гостевой - как избавиться
 
 автор: PAUELL   (12.10.2007 в 01:49)   письмо автору
 
 

Господа! Товрищи помогите пожалуйста решить проблему! Инетовские боты в гостевую регулярно не по одному разу за день кидают всякую фигню и рекламу в гостевушку! Как избавиться от напасти? Кстати гостевушка SoftTime!

   
 
 автор: Гость   (12.10.2007 в 10:00)   письмо автору
 
   для: PAUELL   (12.10.2007 в 01:49)
 

Поставить на регистрацию защиту картинкой?

   
 
 автор: SHAman   (12.10.2007 в 11:18)   письмо автору
 
   для: PAUELL   (12.10.2007 в 01:49)
 

Эта тема уже не раз обсуждалась на этом форуме. Возможные пути решения:
1) самый надежный: вводить обязательную регистрацию. Только зарегистрированный участник может писать в гостевой.
2) делать капчу
3) делать пример типа 2+3
4) писать на картинке вопрос типа "какого цвета снег?" и ждать ответа (та же капча, вид сбоку)
5) делать ложное поле невидимое. Если оно заполняется, значит это бот. Если нет - значит не бот.

Вроде все припомнил.

   
 
 автор: cheops   (12.10.2007 в 11:25)   письмо автору
 
   для: PAUELL   (12.10.2007 в 01:49)
 

Можно запретить посетителям оставлять URL, как сделали мы. Если такой вариант устраивает - можем поделиться кодом.

   
 
 автор: coloboc66   (12.10.2007 в 12:01)   письмо автору
 
   для: cheops   (12.10.2007 в 11:25)
 

Я начисто отбил всех ботов, проверяя поля на наличие кириллицы. Но такое пойдёт только для русскоязычных сайтов.

   
 
 автор: PAUELL   (12.10.2007 в 22:43)   письмо автору
 
   для: cheops   (12.10.2007 в 11:25)
 

Всмысле заперетить оставлять URL? Да кодик то пожалуй не помешал! Только вот если в тексте сообщения, то я и так все поравил, ну а также убрал дополнительные теги редактирования текста (веделение, подчеркивание ...)

   
 
 автор: provodnik   (13.10.2007 в 00:14)   письмо автору
 
   для: PAUELL   (12.10.2007 в 22:43)
 


<?
$bot 
"<br /><br /><br /><center><strong>Запрещена публикация ссылок</strong></center>";
$str $_POST['text'];
if (
preg_match ("/href|http|www/i"$str)) { echo $bot; exit(); }
?>

   
 
 автор: PAUELL   (13.10.2007 в 01:21)   письмо автору
 
   для: provodnik   (13.10.2007 в 00:14)
 

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

а как реализовать определение по вводу в скрытом поле? и вообще как создать скрытое поле! это уже поинтереснее! а это эффективно?

   
 
 автор: TXC   (13.10.2007 в 02:44)   письмо автору
 
   для: PAUELL   (13.10.2007 в 01:21)
 

Скрытое поле:

<input type='hidden' name='bottrap' value='gotcha' />


> это уже поинтереснее! а это эффективно?

Это просто один из методов профилактики от ботов. Но он не сильно надежный, потому как бот может игнорировать скрытые поля, если будете использовать, как написано выше.

Есть другой вариант: через JavaScript присваиваете полю visible=false.Тогда бот может это "проглядеть" и отправить поле, которого на самом деле пользователь видеть не должен. Вот он тогда и попался :) (правда, тут есть проблема с пользователями, у которых JavaScript отключен) Но опять же 100% защиты от таких приемов нет. Т.к. бот может и JavaScript прочитать и выяснить по ним, где скрытые поля находятся. Все зависит от того, на сколько серьезный бот. Но зато такие методы профилактики снизят эффективность работы ботов в целом, вопрос только на сколько.. =)

   
 
 автор: SHAman   (13.10.2007 в 12:12)   письмо автору
 
   для: TXC   (13.10.2007 в 02:44)
 

Любой нормальный бот НЕ БУДЕТ заполнять поле типа hidden. Нужно так:


<div style="display: none;">
    Фамилия: <input type="text" name="surname" value="" />
</div>


Это поле выглядит так, как настоящее, если не считать того, что его не увидят нормальные юзеры.

   
 
 автор: cheops   (13.10.2007 в 12:28)   письмо автору
 
   для: SHAman   (13.10.2007 в 12:12)
 

Боты иногда под конкретные ресурсы пишут - не больно долго и сложно, если имеется бот другого ресурса...

   
 
 автор: TXC   (13.10.2007 в 15:26)   письмо автору
 
   для: SHAman   (13.10.2007 в 12:12)
 

Верно, display: none. Я с Delphi перепутал. =) Но смысл остается тот же.

Как уже сказал товарищ cheops, боты обычно пишутся конкретно под ресурс. По сему, если программист узрел в коде вашу строчку со скрытым DIV-ом или еще чем, то он ее опустит тоже, если будет такая необходимость. Или же бот просто не будет даже смотреть на элементы, которые спрятаны, не важно, <input /> это или <div>.

   
 
 автор: Unkind   (13.10.2007 в 15:29)   письмо автору
 
   для: TXC   (13.10.2007 в 15:26)
 

> Как уже сказал товарищ cheops, боты обычно пишутся конкретно под ресурс
cheops такого не говорил. Он сказал "иногда".

   
 
 автор: cheops   (13.10.2007 в 12:25)   письмо автору
 
   для: PAUELL   (13.10.2007 в 01:21)
 

>а бывает так если запретить вывод ссылок боты сами отстанут? на некоторых сайтах ведь все
>нормально, а защит и нет! вот например у вас! только по ссылкам а ботов то нет!
У нас защита есть... и ботов тут было столько, что мама не горюй... Ботам нужны ссылки - это спамеры, которые получают деньги за раскрутку сайтов (чем больше ссылок, тем выше ТИЦ), поэтому если возможности оставлять ссылки не будет - они просто уйдут - им некогда возится со строптивыми гостевыми книгами - им заказы выполнять нужно.

PS Те жалкие единицы, которые помещают только ICQ - можно будет забанить по номерам ICQ, телефонов и т.п. Но их очень мало - раз в месяц может будет кто приходить и то навряд ли.

   
 
 автор: coloboc66   (13.10.2007 в 14:28)   письмо автору
 
   для: cheops   (13.10.2007 в 12:25)
 

Вот как я сделал в скрипте обработки сообщения:

if(!eregi('^[а-яА-Я0-9_\-]+$',$message))exit;

И всё...

   
 
 автор: mehelson   (13.10.2007 в 15:41)   письмо автору
 
   для: cheops   (13.10.2007 в 12:25)
 

>Можно запретить посетителям оставлять URL, как сделали мы. Если такой вариант устраивает - можем поделиться кодом.
Поделитесь ;)

   
 
 автор: cheops   (14.10.2007 в 11:28)   письмо автору
 
   для: mehelson   (13.10.2007 в 15:41)
 

Собственно provodnik уже привёл, можно воспользоваться следующим решением
<?php
    
if(preg_match_all("|http://|is",$msg,$out_msg) > 0) exit();
?>

   
 
 автор: PAUELL   (13.10.2007 в 22:37)   письмо автору
 
   для: cheops   (13.10.2007 в 12:25)
 

>У нас защита есть... и ботов тут было столько, что мама не горюй... Ботам нужны ссылки - это спамеры, которые получают деньги за раскрутку сайтов (чем больше ссылок, тем выше ТИЦ), поэтому если возможности оставлять ссылки не будет - они просто уйдут - им некогда возится со строптивыми гостевыми книгами - им заказы выполнять нужно.

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

   
 
 автор: coloboc66   (13.10.2007 в 22:44)   письмо автору
 
   для: PAUELL   (13.10.2007 в 22:37)
 

to PAUELL: Лучше запретить ботам вообще что-либо оставлять на своей странице..

   
 
 автор: PAUELL   (13.10.2007 в 23:09)   письмо автору
 
   для: coloboc66   (13.10.2007 в 22:44)
 

>to PAUELL: Лучше запретить ботам вообще что-либо оставлять на своей странице..
я вот задумываюсь о защите картинкой! только вот самому не соорудить! где бы взять готовую? :\
хотя если никто не поможет с картинкой! то планирую наверно идентефикацию браузера проводитью думайте так получиться? или боты тоже могут идентифицироваться как браузеры?

   
 
 автор: coloboc66   (14.10.2007 в 09:18)   письмо автору
 
   для: PAUELL   (13.10.2007 в 23:09)
 

Про картинку поищите по форуму - не раз обсуждалось. Только картинка - тоже не идеальный выход, боты и с ней умеют бороться.

   
 
 автор: Pit0n   (13.10.2007 в 17:20)   письмо автору
 
   для: PAUELL   (12.10.2007 в 01:49)
 

А если сделать все по технологии Ajax? т.е. без загрузки страницы. Таким образом все боты начисто отпадают, поскольку фактически нет никакой отправки данных черех URL запрос, все идет прозрачно с участием XML запроса, к тому же большая скорость работы и практически моментальная работа.
Я сам лично использую несколько таких гостевых, все работает на "ура" и забыл что такое боты и начисто отпадает заботы об организации безопасности и защиты от ботов. Технология обычная PHP+MySQL+XAJAX

   
 
 автор: lifead   (14.10.2007 в 10:08)   письмо автору
 
   для: Pit0n   (13.10.2007 в 17:20)
 

А можно тут по подробнее.(про технологию Ajax)

   
 
 автор: Pit0n   (14.10.2007 в 11:35)   письмо автору
 
   для: lifead   (14.10.2007 в 10:08)
 

есть несколько распостраненных движков под Ajax, я сам использую Xajax весит немного и достаточно функционален. Принцип такой, что данные отправляются на сервер не методом HTTP запроса, а через JS и XML без перезагрузки страницы, этим достигается практически полная интерактивность и динамичность прилложений. Код пишется на PHP и добавляется в движок.

   
 
 автор: Pit0n   (14.10.2007 в 11:38)   письмо автору
 
   для: lifead   (14.10.2007 в 10:08)
 

Предлагаю авторам форума разместить для примера мою статью с полным описанием разработки на Xajax простых примеров и гостевой книги на XAjax в разделе "статьи о PHP "

   
 
 автор: cheops   (14.10.2007 в 11:58)   письмо автору
 
   для: Pit0n   (14.10.2007 в 11:38)
 

Хм... интересно, а где статья?

   
 
 автор: Pit0n   (14.10.2007 в 12:12)   письмо автору
 
   для: cheops   (14.10.2007 в 11:58)
 

Статья на 9 листов, так что удобнее отправить на email

   
 
 автор: lifead   (14.10.2007 в 12:53)   письмо автору
 
   для: Pit0n   (14.10.2007 в 12:12)
 

Согласен, интересно ознакомиться с такой возможностью построения сайта

   
 
 автор: cheops   (14.10.2007 в 15:56)   письмо автору
 
   для: Pit0n   (14.10.2007 в 12:12)
 

Если не сложно отправьте её на softtime @ softtime.ru с указанием вашего ФИО.

   
 
 автор: PAUELL   (16.11.2007 в 00:25)   письмо автору
 
   для: cheops   (14.10.2007 в 15:56)
 

Меня тоже заинтересовало! ВЫ случайно не опубликовали статью на сайте? Тоже почитать охота!

   
 
 автор: mihdan   (14.10.2007 в 18:25)   письмо автору
 
   для: PAUELL   (12.10.2007 в 01:49)
 

Почитайте возможно вас это заинтересует

http://www.securitylab.ru/contest/239642.php

   
 
 автор: mihdan   (17.10.2007 в 12:42)   письмо автору
 
   для: mihdan   (14.10.2007 в 18:25)
 

Ну как справились с ботами? На мой взгляд самый простой способ(о нем пмсали выше) - не позволять оставлять ссылки.

   
 
 автор: PAUELL   (14.11.2007 в 23:21)   письмо автору
 
   для: mihdan   (17.10.2007 в 12:42)
 

Да я тоже так думаю! Я так и зделал! Жду результаты. Хотя они и так видны!
Всем спасибо.

   
Rambler's Top100
вверх

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