Защита от спама

HEm

Сетевой бобер
если делать "полуинтеллектуальный" сортировщик спама, то возникает вопрос о возникающей нагрузке на сервер
 

Vasya

Guest
Автор оригинала: HEm
если делать "полуинтеллектуальный" сортировщик спама, то возникает вопрос о возникающей нагрузке на сервер
Этот вопрос можно и обойти. Ибо робот общается только с базой. Следовательно, он может работать откуда угодно и как угодно медленно... Главное, в данном случае, не скорость, а точность, imho.
 

АПАЧЁНОК

Guest
Если данные находятся в БД MYSQL или ещё какой-нибудь, то попробуйте следующий SQL-код встроить в своём сценарии на PHP: " SELECT DISTINCT * FROM ... ORDER BY DATE DESC " .
 

Screjet

Новичок
Есси робот написан персонально для сайта, то ниче не сделаешь :)
В общих случаях софт типа контент-анализатора поможет, но ето пока чтото из области фантастики :)
 

HEm

Сетевой бобер
Автор оригинала: Screjet
Есси робот написан персонально для сайта, то ниче не сделаешь :)
В общих случаях софт типа контент-анализатора поможет, но ето пока чтото из области фантастики :)
вот уж нет, и с таким можно бороться, комбинировать методы
к тому же ему (спаммеру) труднее разбираться в моем коде потому что он его не знает ;) и если я навтыкаю кучу ложных параметров к примеру, то логику проверок ему будет труднее понять
 

Screjet

Новичок
Автор оригинала: HEm
вот уж нет, и с таким можно бороться, комбинировать методы
к тому же ему (спаммеру) труднее разбираться в моем коде потому что он его не знает ;) и если я навтыкаю кучу ложных параметров к примеру, то логику проверок ему будет труднее понять
Спаммеру и не нужно разбираться в твоем коде, у него другая задача.
1. Самая простая - эмулировать браузер.
2. Чуть сложнее - эмулировать ламера :)
3. Редко, кто доходит до п.3, но не исключено - эмулировать юзера.

Ну а есси юзер не может пользоваться ресурсом, тогда этот ресурс никому и не нужен.
 

f1

formula 1
соответственно защиту и надо строить опираясь на эту классификацию

1. самая простая - основанная на проверке формальных признаков передаваемых от браузера (всякие рефереры, ip, таймауты и т.д.)
2. сложнее - ява скрипты, куки, динамическая смена параметров ... (см топик выше :)))
3. основанная на том что с "той" стороны человек "с интелектом" (ввод слов с картинок (распознавание изображений), ответы на вопросы, выбор правильной области изображения и т.д (фантазия безгранична))
 

Falc

Новичок
Чесно говоря никогда не занимался разработкой досок объявлений и не совсем понимаю от какого рода спама нужна защита.
Если нужно защиттиться от спама вообще, т.е. робот просто пихает на доску рендомные сообщения, тем самым просто засоряя его. То это одна проблема.
Если надо защититься от рекламного спама, то такой спам можно определить по словам которые в нем находяться.
Немного подробнее:
Берем несколько тысяц или даже сотен тысяц рекламных сообщений собираем статистику слов встречаемых в них (с учетом морфологии желательно). Выбираем из них наиболее часто встречаемые. Для каждого из них вводим весовые коэффициенты. Если во входящем сообщении сумма весовых коеф. "спамерских слов" превышает некоторый допустимый предел то отвергать данное сообщение.
 

Oleg Puzanov

Guest
Мне кажется, что самый классный спам-фильтр - мадератор.
 

yUAC

Guest
хехе, по-моему это передача мыслей на расстоянии среди программистов, или как-то так. Короче говоря, я тоже недавно всерьёз задумался над этой проблемой. И вот что получилось: http://forum.dklab.ru/php/advises/SkriptProtivSpama.html
 

LastAdm

Guest
Рекомендую вам, камрады, заглянуть вот сюда
https://sourceforge.net/projects/bogofilter/
Это бэйсианский фильтр. Изначально - для борьбы с почтовым спамом. (Кстати весьма, весьма)
Совершенно нетрудно прикрутить к чему хочешь.
Единственная сложность - его надо обучать.
 

Alexandre

PHPПенсионер
я использую простой метод:
1) генерю случайное число1 $varname='n'.xxxxx; - это имя переменной,
2) генерю случайное число2 $varvalue='v'.xxxxx;
$$varname=$varvalue;
пишу и то и то в сессию.

далее в hidden указываю
PHP:
<input name=$varname value=$varvalue>
Анализирую, если существует имя переменной, то которое у мен записано в сессии, с тем ее значением, которое записано в сессии, значить это не спам.

Все прозрачно и легко.

Если заест параноя, то создай 10 таких hidden, пусть робот анализирует, какой из них нужный.

а еще дополнительно можно генерить
PHP:
<input type=input name=$varname >
для некоторых полей, тогда роботу необходимо будет парсить страницу каждый раз.
а мы тогда таким Макаром
Но в этом случае можно использовать "нивидимые" <div> а также
PHP:
<!----  abra-kadabra   ---->  
<div color=bgcolor>abra-kadabra </div>
притом <input> всегда можно оформить дивом, и тогда робот вообще ногу сломит при определении где мусор, а где поле ввода.

а еще можно значения полей ввода прописывать в <script src="http://mysite.ru/genscript.php?id=SIDxxxxxxx"
>, который в свою очередь генерить каждый раз в отдельном файле такую билиберду, что робот лопнет от анализа.
 

Alexandre

PHPПенсионер
Для каждого из них вводим весовые коэффициенты. Если во входящем сообщении сумма весовых коеф. "спамерских слов" превышает некоторый допустимый предел то отвергать данное сообщение
отвергать нельзя, его надо рецензировать- а вдруг клиент проклюнется.
 

Alexandre

PHPПенсионер
(продолжение)
как правило анкета заполняется следующим образом
PHP:
<tr><td>Имя <td><td><input type=text name=xxxxx ></td></tr>
а что нам мешает имя текстового поля (в нашем случае Имя) представить в виде того же <input type=text name=xxxxx value="Имя"> только задав ему такой стиль, чтоб юзер мог видеть только текст "Имя", т.е. не отличающийся о фонта, фона и прочих атрибутов текста формы.

второе, значение такого инпут поля можно передавать через ява скрипт, т.е. робот опознать соответствующее поле простым анализом строки на
PHP:
<tr><td>Имя <td><td><....
уже не сможет.
а если все методы совместить и скомбинировать,
а если сочетать разные алгоритм по определенным дням недели, то писатели роботов просто уйдут спамить на другой сайт
 

Alexandre

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

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

По крайней мере, чтоб роботы двигали курсором мыши - я не слышал....
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Alexandre
Празднуем?.. Может не надо поток сознания-то в форум при этом? ;)
 

fixxxer

К.О.
Партнер клуба
Alexandre

Спасибо за порцию здорового смеха!

Не могу удержаться - меняю подпись. Копирайты сохраняю. Не против?
 

trigger

Guest
Очень нужна спаммерам ваша гостевая/ббс. Одно-два серьезных wall, что богато посеяны в этом топике, и спаммеры "уйдут спамить на другой сайт"(с)Alexandre
 
Сверху