Блокирование спама в сайте PHP, не беспокоя пользователя

+1 для Генерируют, но гвоздь на том, что Вы генерируете, т.е. GenerateSQL ()

6
задан SpleenTea 2 August 2009 в 04:50
поделиться

5 ответов

Одна вещь, которую вы должны знать о спамерах, - это то, что они всегда ищут низко висящие плоды. То же и с хакерами. Под этим я подразумеваю, что они будут выбирать самые легкие для поражения цели, которые затрагивают большинство пользователей. Вот почему уязвимости PHP и Windows часто используются: они затрагивают так много пользователей, что, если вы обнаружите такую ​​слабость / уязвимость, ваш целевой «рынок» огромен.

Это также большая часть причины, по которой Linux и Mac OS остаются относительно невредимыми вирусами, например: целевой рынок намного меньше, чем Windows. Я не отождествляю безопасность и надежность Windows с Mac / Linux, но, хотя модель безопасности последних двух намного лучше, количество атак на первую по-прежнему несоразмерно с имеющимися у нее недостатками.

Я говорю это потому, что один из лучших способов избежать подобных проблем - не использовать популярное программное обеспечение. phpBB, например, подвергся множеству атак только потому, что он настолько популярен.

Таким образом, создавая свою собственную систему чата / форума, вы окажетесь в невыгодном положении, потому что у вас есть система, в которой что-то не тестируется. популярный, но у вас также есть преимущество в том, что спамерам не стоит тратить время на их использование. Итак, вам нужно остерегаться того, что автоматизированные системы могут сделать против вас. Контактные формы на веб-сайтах, как правило, имеют узнаваемые маркеры (например, поля имени, электронной почты и комментариев).

Поэтому я бы посоветовал:

  • Игнорировать ответы, которые приходят, скажем, в течение 5-10 секунд после отправки формы пользователю;
  • ] Использование приманки (скрытые поля CSS / JS, как описано в другом месте);
  • Использование Javascript, где это применимо, для визуализации, изменения порядка или отображения формы;
  • Использование непредсказуемых имен полей формы; и
  • Ограничение ошибочных ответов IP.
8
ответ дан 8 December 2019 в 14:45
поделиться

Не взрывозащищенное решение, но вы можете иметь несколько скрытых полей ввода . Если они не остались пустыми, вы поймали бота. Боты, как правило, заполняют все поля ввода, а пользователи обязательно оставляют поля, которые не видят пустыми.

6
ответ дан 8 December 2019 в 14:45
поделиться

У меня это срабатывало в 100% случаев:

<input type="text" style="display:none" name="email" value="do not fill this in it is for spam catching" />

Затем на стороне сервера (PHP):

if($_POST['email'] != 'do not fill this in it is for spam catching') {
    // spam
}

Как упоминалось ранее, большинство ботов заполняют все, особенно поля с именем «электронная почта» .

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

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

Это как если бы вы хотели, чтобы ваш компьютер был в безопасности, но вы не хотите использовать антивирус и брандмауэр.

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

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

Существует два класса защиты от спама.

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

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

Обратите внимание, что оба этих подхода часто могут мешать инвалидам и мобильным пользователям.

0
ответ дан 8 December 2019 в 14:45
поделиться
Другие вопросы по тегам:

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