Автор Тема: Защита от спама  (Прочитано 6632 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Защита от спама
« : 22 Февраля 2007, 19:13:17 »
Есть гостевая у меня на сайте, которую частенько спамят.
Наткнулся на http://seomanager.ru/scripts.html - скрипты сабмита гостевых.
Начал думать, как защитися от спама.

Вот решения, которые приходят в голову.
1. На сайте есть переменная - кол-во пользователей, меняется много раз за день. почему бы её не записать в hidden поле формы а потом проверять?
2. Записать в сессию перемнную md5(uniqid(rand(),1)) и тоже проверять.
3. Если сообщение содержит больше 2 ссылок
Насколько эти решения удачны? Может есть другие варианты?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Защита от спама
« Ответ #1 : 22 Февраля 2007, 19:54:59 »
Ты хочешь защитится от стандартных скриптов или от скриптов, которые будут писаться специально для спама твоей гостевой ?

Первые твои 2 варианта не подойдут - стандартные скрипты просто вырежут соотв. значению и пошлют в запросе.
Третий вариант возможно и имеет смысл, но его постоянно надо совершенствовать.

Стандартные решения :
1. CAPTCHA - более надежно
2. менее надежный вариант - см пример на http://www.vintest.ru/operator.php - обходится легко, но для таких сайтов нужно писать отдельный модуль
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита от спама
« Ответ #2 : 22 Февраля 2007, 21:18:46 »
Насчет капчи недавно интересную идею где-то прочитал: не заставлять пользователя доказывать, что он человек, а заставить робота раскрыть свою сущность. Например, скрыть средствами css некое текстовое поле, значение которого проверять. Если форму заполняет человек, он не увидит и не заполнит поле. Не универсально, но мысль здравая.

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Защита от спама
« Ответ #3 : 22 Февраля 2007, 23:14:22 »
Макс
Важно защитить вообще от автоматического добавления сообщений.

Капча и вопросы - это здорово. Но не хочется заставлять человека доказывать, что он не верблюд :)
Цитировать
стандартные скрипты просто вырежут соотв. значению и пошлют в запросе
Они что форму загружат себе и сканируют?
Как тогда они определяют в какое поле что писать? А если я поля назову случайным образом? Если они вместо емейла напишут сайт, сразу ошибка будет...
Интересно кстати, как работают современные спамеры.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Защита от спама
« Ответ #4 : 23 Февраля 2007, 11:08:34 »
Цитировать
andymc:
Капча и вопросы - это здорово. Но не хочется заставлять человека доказывать, что он не верблюд

чтобы человек доказал что он человек, ему нужно сделать что-то на что не способны роботы. Если надо :
Цитировать
andymc:
защитить вообще от автоматического добавления сообщений

то капча - единственный более-менее надежный метод
Не от хорошей жизни почти все крупные сайты его используют.

Цитировать
andymc:
Они что форму загружат себе и сканируют?
Ну это уж как автор напишет. Вообще загрузка формы для определения списка полей и скрытых значений - вполне логичное решение для таких скриптов.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Защита от спама
« Ответ #5 : 23 Февраля 2007, 19:03:57 »
Макс
Капча это конечно круто, не спорю.
Но вот например когда я запретил тексты с 2 и более тегами

brainkiller
Идея хорошая. Запомним.

Ещё кстати, слышал такой способ. Ловить событие onClick кнопки. И записывать в скрытое поле какую-нибудь перемную.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Защита от спама
« Ответ #6 : 23 Февраля 2007, 20:11:45 »
andymc
Давай по сути.
Либо ты анализируешь контент, либо ты анализируешь процесс работы пользователя. Здесь принципиальная разница.

В первом случае: если ты запрещаешь теги А, то ты это делаешь для всех. Что зависит от твоей бизнес-задачи.
Во втором случае: если есть задача технически отличить пользователя от бота, то пока единственный вариант - это captcha. [off]Есть еще парсинг сложных выражений (но их и генерить непросто).[/off]

Не надо смешивать эти два понятия, ОК?

Про скрытые поля, JS и прочую лабуду: да, это защитит от тупых боксовых автоспамилок. Но чаще всего автор бота просто напишет отдельный скрипт, который будет соответствовать твоей "проверке" на твоем сайте. Делов-то.
LJ: Backslashed life (rss)

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Защита от спама
« Ответ #7 : 24 Февраля 2007, 06:15:43 »
Цитировать
автор бота просто напишет отдельный скрипт
вот как раз это самое страшное. От этого конечно защитися можно только с помощью картинок.
А авторам не лень для каждой гостевой писать скрипт?

Хм.. буду думать дальше.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Защита от спама
« Ответ #8 : 24 Февраля 2007, 10:01:29 »
andymc
Цитировать
andymc:
не лень для каждой гостевой писать скрипт?

Как показывает практика - нет, не лень. Пишут.
LJ: Backslashed life (rss)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28