Могут ли веб-боты удалять контент с моего сайта, используя ссылки, связанные с запросами GET? - PullRequest
4 голосов
/ 05 декабря 2011

ОК, вот моя проблема: контент исчезает с моего сайта .Это не самый безопасный сайт, у него есть ряд проблем.Прямо сейчас каждый раз, когда я загружаю страницу, которая может удалить контент с моего сайта, используя простые ссылки, связанные с GET-запросом, я нахожу соответствующий контент, удаляемый массово.

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

На днях я загрузил эту функцию и на следующее утро обнаружил, что все мои изображения удалены.Страницы защищены с помощью аутентификации пользователя при просмотре страниц с помощью браузера.Однако, к моему удивлению, я мог wget на этой странице без каких-либо проблем.

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

Ответы [ 4 ]

3 голосов
/ 05 декабря 2011

Это абсолютно возможно. Это могут делать даже не злые веб-боты. Робот Google не знает, что ссылка, по которой он идет, имеет какую-либо конкретную функциональность.

Самый простой способ решить эту проблему - настроить правильный файл robots.txt, чтобы боты не переходили на определенные страницы. Начните здесь: http://www.robotstxt.org/

3 голосов
/ 05 декабря 2011

RFC 2616 (протокол HTTP), раздел 9.1.1: Безопасные методы :

Было установлено, что методы GET и HEAD НЕ ДОЛЖНЫ иметь значениепредпринимать действия, отличные от поиска.Эти методы следует считать «безопасными».Это позволяет пользовательским агентам представлять другие методы, такие как POST, PUT и DELETE, особым образом, чтобы пользователь знал о том, что запрашивается небезопасное действие.

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

Редактировать: Это также может быть Bing.В настоящее время Internet Explorer отправляет данные в Microsoft везде, куда вы отправляетесь для сбора данных для своей дерьмовой поисковой системы.

0 голосов
/ 05 декабря 2011

Вы можете использовать файл robots.txt, чтобы заблокировать доступ для некоторых веб-ботов. А для тех, кто не ищет файл robots.txt, вы также можете использовать javascript, не должно быть много веб-ботов, которые его интерпретируют.

<a href="#" onclick="document.location.href='./delete'; return false;">delete</a>
0 голосов
/ 05 декабря 2011

Как правило, поисковый бот сканирует страницу на наличие ссылок и просматривает эти ссылки, чтобы увидеть, какие страницы стоят за этим. Так что да, если оба имеют доступ к этой странице, страница содержит ссылки для удаления элементов / материалов, и оба открывают эти ссылки, чтобы увидеть, что скрывается за ними, код просто срабатывает.

Есть несколько способов заблокировать ботов от сканирования страниц. Посмотрите на реализации robot.txt. Кроме того, вы можете захотеть изучить механизм / безопасность вашей системы аутентификации администратора ... ;-)

...