Какие методы доступны для автоматической борьбы со спамерами с помощью PHP/MySQL

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

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

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


person Pixulated    schedule 27.02.2014    source источник
comment
Я отредактировал свой пост, если есть что-то неясное, пожалуйста, сообщите мне, и я объясню более подробно.   -  person Pixulated    schedule 27.02.2014


Ответы (2)


Одна вещь, которую я вижу все чаще и чаще, — это метод приманки. Добавьте несколько полей в форму и настройте их таким образом, чтобы они не были видны конечному пользователю, использующему css. Затем в вашем коде проверьте, имеет ли поле измененное значение (по умолчанию). Если да, то это бот (поскольку люди не могут видеть и, следовательно, изменять поля).

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

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

person Veda    schedule 27.02.2014
comment
на самом деле, это лучшее решение для борьбы со спам-ботами - person Xatenev; 27.02.2014
comment
Да, мне очень нравится идея этого метода, и я хотел бы поблагодарить вас за его предложение, так как на самом деле я не знал об этом методе до вашего поста. Однако я хотел бы спросить вас, как вы думаете, я должен сделать это как для регистрации пользователя, так и для формы, которая позволяет пользователю публиковать URL-адрес? Вы считаете, что защищать обе формы — хорошая идея или только первую или последнюю? - person Pixulated; 27.02.2014
comment
Я думаю, что сделать это для обеих форм - хорошая идея. Хотя, если страница URL-адреса сообщения пользователя может использоваться только с учетной записью, она (надеюсь) не нужна. В таком случае я бы отдал приоритет регистрационной форме. - person Veda; 28.02.2014

Вы можете защитить свой голос с помощью капчи (например, Google ReCaptcha), но это нелепое решение, которое используется большинством сайтов. Если вам нравятся ваши пользователи, используйте такие сервисы, как uniqpin.com.

person Toorion    schedule 27.02.2014
comment
Извините, что я должен был упомянуть об этом, я бы предпочел не идти по этому пути, если я полностью честен. - person Pixulated; 27.02.2014
comment
Пожалуйста, не используйте uniqpin.com. Мне, как читателю, не являющемуся носителем английского языка, трудно это решить. Мне приходится пользоваться гугл-переводчиком, чтобы знать, на какую картинку кликать. - person Veda; 27.02.2014
comment
Да, если ваш сайт не для англоязычных пользователей, вам следует использовать другое решение, но если вы хотите защитить свой контент только от английского языка, то это предпочтительное решение... - person Toorion; 27.02.2014
comment
Этот сайт все равно пахнет. Нет контактной информации, скрытая информация whois. - person Jens Erat; 28.02.2014
comment
Мое мнение - для бесплатного сервиса это не проблема. Проблема в том, что теряется время на фильтрацию спама или на то, что пользователь навязывает надоедливую капчу. - person Toorion; 28.02.2014