PHP: Anti-Flood (Honeypot)
У меня есть форма загрузки, которую мы используем внутри компании, чтобы позволить клиентам загружать фотографии своих настроек широкополосного доступа (в качестве помощи для диагностической проверки), и в настоящее время я думаю о проблемах безопасности.
Сначала я думал о сложном IP-запрете, если более 5 загрузок за X минут, но, как я уже думал об этом, мне это не нужно. Техника honeypot все еще работает? (скрытый ввод формы через CSS, обрабатывать как спам, если у него есть запись).
Каково ваше мнение о том, как лучше всего попытаться уменьшить количество пользователей, пытающихся загрузить поддельные картинки, я подумал о простом запрете IP-адресов, это не получит ботов, поскольку они, как правило, меняют свои IP-адреса при каждой атаке, но остановят большинство обычных пользователей.,
Пожалуйста, помните, что загруженные фотографии не видны пользователю, они видны только нашим сотрудникам за сценарием входа. Я не хочу зацикливаться на безопасности в такой простой системе, но я не хочу, чтобы обычные пользователи могли легко с нами связываться.
1 ответ
Несмотря на то, что это очень мнительный вопрос и, следовательно, он не обязательно идеален для Stackru, я выскажу свое личное мнение / предложение по этому поводу:
Я бы порекомендовал комбинацию временных IP-блоков и Google reCAPTCHA (как Сэмюэл упомянул в комментариях). Хотя это является барьером для пользователей, он также является одним из наиболее эффективных методов против автоматического рассылки спама и автоматической загрузки. В сочетании с IP-блоками это предотвратит как спам-ботов, так и злонамеренных / раздражающих пользователей, которые просто хотят залить ваш сайт, загрузив тонны изображений.
Кроме того, имейте в виду, что reCAPTCHA пришло довольно далеко от необходимости вводить зернистые буквы и цифры. В настоящее время пользователю просто нужно установить флажок и иногда выбирать несколько изображений, которые содержат какой-либо элемент / объект. Это все еще препятствие, но для человека-человека это займет не более 5-15 секунд (если им вообще придется выбирать изображения), и это заблокирует практически любого автоматизированного бота.
Кроме того, я бы посоветовал против техники honeypot. Принцип работы скрытого поля заключается в том, что бот по-прежнему будет заполнять скрытое поле, потому что он не будет запускать JavaScript, но это немного изменилось. Хотя есть еще несколько ботов, которые могут подойти для этого, можно легко написать ботов, которые запускаются поверх веб-браузера (который будет выполнять JavaScript, чтобы скрыть поле "honeypot") и взаимодействовать только с видимыми элементами на странице. Таким образом, это может остановить небольшую часть ботов, но я бы сомневался в их эффективности в настоящее время.
Конечно, как уже говорилось, это очень самоуверенно, поэтому ваш пробег может отличаться, и другие пользователи могут иметь разные мнения.