Как я защищаю свой форум от спама?

Вы можете сделать это следующим образом -

Из отметки времени

 select DATE_PART_YEAR('2019-01-15 04:47:22');
 date_part_year
 -----------
       2019
(1 row)

С даты

 select  DATE_PART_YEAR('2019-01-15');

 date_part_year
 -----------
       2019
 (1 row)
[1111 ] Но если взглянуть на ваши примеры данных, можно легко понять, что ваши данные представлены в текстовом формате, а не в формате даты, следовательно, они должны быть casted first to the date, тогда можно использовать DATE_PART_FUNCTION.

select DATE_PART_YEAR(to_date('10-Nov-15','DD-Mon-YY'));

Здесь to_date функция преобразует text в date, а затем извлекает год. Надеюсь, что это отвечает на ваш вопрос.

6
задан Marius 27 January 2009 в 20:34
поделиться

13 ответов

В приложении гостевой книги я записал, я реализовал две опции, которые предотвращают большую часть спама:

  • Не позволяйте POST как первый запрос на сессии

  • Потребуйте допустимого HTTP Refer(r) er при регистрации

12
ответ дан 8 December 2019 в 02:35
поделиться

Что-то я нашел, чтобы быть удивительно эффективным: запретите комментарии, которые содержат слишком много URL (больше, чем, скажем, 5). Начиная с выполнения этого у меня был нулевой спам комментария.

Править: Начиная с записи вышеупомянутого у меня был повторяющийся спам комментария только с одной ссылкой. Я теперь добавил некоторые поля ловушки и имел, не рекомендуют спам в течение нескольких месяцев теперь.

2
ответ дан 8 December 2019 в 02:35
поделиться

Нет никакого единственного ответа, так как Спам является действительно вопросом экономики: сколько стоит стоящий того кому-то для помещения их материала на сеть. Там, однако, некоторые решения, которые кажутся довольно хорошими

  • Recaptcha
  • Используйте CCS для создания невидимого поля та временная замена роботов
  • Создайте определенное для времени скрытое поле в своей форме, таким образом, робот не может использовать ту же форму много раз.
0
ответ дан 8 December 2019 в 02:35
поделиться

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

0
ответ дан 8 December 2019 в 02:35
поделиться

Я хочу сказать, что в большую часть времени, КАПЧА достаточно, чтобы Вы предотвратили SPAMers. Но действительно используйте сильный, как http://www.captcha.net/.

Помните, что SPAMers не хотят проводить много времени для контакта с конкретным сайтом (кроме сайтов интенсивного движения), они используют инструмент для размещения объявления на большом количестве сайтов. Поэтому сделайте свою ФОРМУ немного необычной, (например, дайте пользователю, которого изображение говорит '1.5+2.4 =?' и позвольте пользователям для ответа, это заблокирует большинство инструментов :) спама),

0
ответ дан 8 December 2019 в 02:35
поделиться

Передовые решения:

Можно попытать счастья с нестандартной формой:

  • поля, которые должны остаться пустыми скрытый с CSS
  • поля с вводящими в заблуждение именами, например. <input name=email> для чего-то, что не является электронным письмом.

Для меня КАПЧА похожа на предоставление до спаммеров и разрешение им повредить Ваш форум так или иначе – за исключением того, что вместо повреждения спама, Вы получаете повреждение удобства использования и доступности.

2
ответ дан 8 December 2019 в 02:35
поделиться

Капча является определенно самым легким методом - пробуют KittenAuth, если Вы хотите что-то защищенное от бота (Хотя я получил панд на этот раз),

0
ответ дан 8 December 2019 в 02:35
поделиться

Включайте КАПЧУ, которая является всегда "оранжевой".

2
ответ дан 8 December 2019 в 02:35
поделиться

Один способ, которым я знаю, какие работы должны использовать JavaScript прежде, чем отправить форму. Например, для изменения метода от ДОБИРАЮТСЯ до POST.;) Спам-роботы паршивы при выполнении JavaScript. Конечно, это также означает, что люди не-JavaScript не смогут использовать Ваш сайт..., если Вы будете заботиться о них, который является. ;) (Примечание: Я не делаю),

5
ответ дан 8 December 2019 в 02:35
поделиться

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

Пара примеров, которые приходят на ум вещей, которые Вы могли попробовать:

  • Имейте скрытое поле формы с именем, которое походит на что-то, что спаммер хотел бы заполнить, как "веб-сайт" или "домашняя страница" или что-то как этот. Если поле формы заполнено, выбросьте сообщение вместо того, чтобы отправить его, потому что это был бот, автоматически заполняющий целую форму, даже невидимые поля.
  • Вы не должны использовать "реальную" капчу, но даже что-то простое как "Вводит следующее слово назад: <случайный назад слово>" или, "Каково доменное имя этого веб-сайта?". Легкий для человека сделать, но это потребовало бы, чтобы довольно сложный бот выяснил, что заполнить.
5
ответ дан 8 December 2019 в 02:35
поделиться

Вы могли бы хотеть посмотреть на этот вопрос, который имеет несколько ответов, которые описывают, как Вы могли реализовать ненавязчивую капчу.

Другая вещь рассмотреть состоит в том, чтобы потребовать, чтобы время между сообщениями предотвратило крупный спам.

2
ответ дан 8 December 2019 в 02:35
поделиться

Вы могли использовать капчу, существуют некоторые хорошие сценарии как PHPCaptcha или используют контрольную службу спама, как Akismet, у них есть API PHP.

4
ответ дан 8 December 2019 в 02:35
поделиться

Сообщения со спамом могут быть ботами или людьми - боты более вероятны.

Для остановки ботов вставьте скрытое поле, заполненное JavaScript - существует шанс на 99,5%, что стандартный, глупый бот, который не настраивается на сайт, не заполнит это.

Если им не удается заполнить его правильно, дать им сообщение, что JavaScript требуется или что-то, и дайте им возможность отправить некоторый другой путь (например, с капчой или регистрацией). Тем путем анонимные пользователи, которые не являются спам-роботами, могут (главным образом) все еще отправить без проблем и большинства спам-роботов (которые не были адаптированы для Вашего определенного сайта), не будет.

Не потрудитесь помещать в черный список IP-адреса или использовать сторонние черные списки, которые просто генерируют ложные положительные стороны. Почти все боты используют те же IP-адреса в качестве (немного) законные пользователи.


Другой прием должен вставить текстовое поле с вероятным звучащим именем, которое сделалось трудное видеть с CSS - любой заполняющий это поле с чем-либо считается ботом.

2
ответ дан 8 December 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: