Как Предотвратить СПАМ без КАПЧЕЙ или Централизованно управляемой системы (например, akismet)

Используя отрицаемый класс символов предотвращает соответствие, когда граничный символ (doublequotes, в Вашем примере) присутствует в другом месте во входе.

Ваш пример № 1:

/"[^"]+"/ # match quote, then everything that's not a quote, then a quote

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

К счастью Damian Conway готов со спасением: текст:: Сбалансированный там для Вас, если Вы находите, что существует несколько подобранных меток кавычки. Это также имеет достоинство соответствия другой парной пунктуации, например, круглым скобкам.

13
задан casperOne 27 July 2012 в 14:30
поделиться

7 ответов

Капча Honey Pot ( статья Фила Хаака ). Это обычный метод, используемый для выполнения того, что вы ищете. Это не надежно, но что на самом деле?

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

3
ответ дан 2 December 2019 в 00:58
поделиться

Если бы существовало окончательное решение, не было бы необходимости в CAPTCHA вообще. Однако, если размер вашего сайта недостаточно велик, чтобы гарантировать, что кто-то вручную ищет способ взломать его, защита через скрытность может быть лучшим способом. Например, ссылка, которую вы указали выше, или так же просто, как добавление ввода с названием что-то вроде "City_2" и его скрытие. Если поле ввода заполнено, скорее всего, у вас есть спамеры, поскольку они автоматически заполняют каждое поле - просто выгрузите данные и двигайтесь дальше ... Всего мои 2 цента.

1
ответ дан 2 December 2019 в 00:58
поделиться

Недавно я попробовал одну очень простую технику. Я заметил, что при наличии набора переключателей спам-боты всегда либо выбирают первый вариант, либо принимают то, что было предварительно проверено. Итак, на одном веб-сайте, который я запустил, у меня есть форма, которую пользователи заполняют, возможно, с полдюжиной вопросов. Один из вопросов - это «тип записи» с переключателями для выбора. Поэтому я добавил новый вариант выбора «Я спамер» с комментарием в скобках, объясняющим, почему этот вариант существует, и сделал его значением по умолчанию. Если форма отправляется с установленным флажком, я возвращаю сообщение об ошибке вместо обычного сообщения подтверждения. С тех пор количество получаемого мной спама сократилось почти до нуля. Я не знаю, что? Слева - спам-боты, которые используют другую стратегию - возможно, произвольно выбирают среди доступных переключателей - или, если это спамеры-люди, а не роботы.

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

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

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

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

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

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

1
ответ дан 2 December 2019 в 00:58
поделиться

Избавьтесь от 99% спама, см. Это - http://wordpress-plugins.feifei.us/hashcash/

Очевидно, это предотвращает только автоматический спам, используйте его вместе с Akismet или чем-то еще и получите 100% защиту.

Обновление: Как работает HashCash? Спам ничего не стоит (использование ботнетов бесплатно), поэтому он работает. Идея состоит в том, что если этот процесс можно сделать дорогим (CPU), то массовая рассылка спама / сообщений не будет работать. Более подробная информация здесь - http://en.wikipedia.org/wiki/Hashcash

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

1
ответ дан 2 December 2019 в 00:58
поделиться

Это - очень хорошее рабочее решение, я использую его в своих проектах.

Стоит попробовать ...

0
ответ дан 2 December 2019 в 00:58
поделиться

Я использую Akismet , который на самом деле очень похож на фильтр спама по электронной почте, но довольно мощный, поскольку он непрерывно создает байесовский профиль с объединенным спамом каждого сайта, используя сервис (около 18 миллионов комментариев в день). Их веб-сервис чрезвычайно прост и очень быстр - просто отправьте комментарий по сети, и они отправят ответ «спам» или «не спам». Существуют существующих библиотек Akismet почти для каждой платформы.

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

0
ответ дан 2 December 2019 в 00:58
поделиться

Общий комментарий о любой системе защиты от спама: ничего вы будете на 100% безопасны. Если ваш сайт достаточно велик или полезен, чтобы спамер решил уделить ему особое внимание, он, вероятно, найдет способ. Но это то же самое, что обычно говорят о домашней безопасности: конечно, опытный и профессиональный вор может обыграть любую систему сигнализации, которую средний домовладелец может себе позволить. Но вы будете держаться подальше от неуклюжих любителей, и если вы создадите достаточно проблем для профессионала, вы увеличите для него риск того, что к тому времени, когда он сломает ее, вы вернетесь домой или сосед увидит его и вызовет полиция. Когда я работал в армии, мы постоянно говорили о балансе между безопасностью и предотвращением выполнения своей работы законными пользователями. Цель в вооруженных силах - не какая-то гипотетическая «абсолютная безопасность», а скорее нечто достаточно хорошее, чтобы снизить риск до «приемлемого уровня», совместимого с минимальными неудобствами для уполномоченных лиц. Очевидно, что считать «приемлемым» зависит от того, что вы защищаете: я определенно надеюсь, что люди, которые защищали ядерные боеголовки, настаивали на более высоком уровне безопасности, чем мы обеспечиваем радиолокационные системы. Люди в районах, где предполагалось нападение, таких как базы на Ближнем Востоке, имели более высокий уровень безопасности, чем у нас на базах в Центральной Америке. И т.д.

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

0
ответ дан 2 December 2019 в 00:58
поделиться
Другие вопросы по тегам:

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