Я знаю, что мои веб-сайты были взломаны некоторыми автоматически работающими libwww-perl
BOT/0.1 (BOT for JCE)
иGecko/20100101
Есть ли способ сделать так, чтобы все мои веб-сайты были доступны только для настоящих браузеров, а не для этих автоматизированных скриптов?
решение1
Нет, вы не можете гарантировать, что ваши веб-сайты будут доступны только подлинным браузерам. Это связано с тем, что единственными источниками данных, которые у вас есть для определения платформы и веб-браузера клиента, являются заголовки запросов, которые могут быть полностью подделаны хакерами.
Например, хакер может использовать такой инструмент, как Fiddler, чтобы отправить на ваш сайт пользовательский HTTP-запрос с поддельным User-Agent
заголовком запроса, который выглядит как Internet Explorer, Chrome, Firefox, Googlebot или какой-либо другой HTTP-клиент. Таким образом, очень сложно, если не невозможно, отличить хакера от законного пользователя на основе данных HTTP-запроса.
решение2
Я мог бы предоставить вам списки бесчисленных защит, которые вы могли бы применить (ограничение пользовательских агентов, отображение вашего контента с помощью JavaScript из XML-файлов, капчи — какой отличный способ разозлить свою аудиторию!), но они лишь отсрочат неизбежное, пока они не придумают, как их обойти.
Лучше всего вбить кол в сердце проблемы, чем пытаться ставить защиту за защитой. Если можете, посмотрите на приложение и попытайтесь выяснить, как они смогли проникнуть внутрь, и попытайтесь залатать дыры. Наиболее очевидные места для проверки — это входные данные формы — передаются ли они в строки SQL без предварительного анализа? Генерируют ли они строки SQL вместо использования подготовленных операторов (которые убивают попытки внедрения SQL с самого начала)? Если это то, что вы можете исправить, сделайте это. Если это чей-то продукт, создайте патч и отправьте его им.
Худшее, что вы можете сделать в сфере безопасности, это предположить, что с вами этого не случится. Черви, вирусы и автоботы обычно недостаточно умны, чтобы понять, что ваш маленький сайт не представляет угрозы.
Будьте умны, осторожны, будьте бдительны.