Предотвращение сканирования и копирования данных сайта - PullRequest
15 голосов
/ 07 октября 2008

Я собираюсь создать контент-сайт, возможно, с тысячами различных записей, доступных по индексу и поиску.

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

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

Ответы [ 12 ]

14 голосов
/ 07 октября 2008

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

Лучше всего смотреть на водяные знаки на вашем контенте, чтобы, по крайней мере, если он был разорван, вы могли указать на водяные знаки и заявить о праве собственности.

10 голосов
/ 07 октября 2008

Между этим:

Какие меры я могу предпринять для предотвращения взлома вредоносных сканеров

и это:

Я бы не хотел блокировать законных сканеров все вместе.

ты много просишь. Дело в том, что если вы попытаетесь заблокировать вредоносные скребки, то и в конечном итоге заблокируете все «хорошие» сканеры.

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

  1. Пусть крестьяне Интернета украдут ваш контент. Следите за этим (ищите в Google некоторые из ваших более уникальных фраз) и отправляйте запросы на разборку провайдерам. Этот выбор почти не влияет на вас, кроме времени.
  2. Используйте AJAX и скользящее шифрование для запроса всего вашего контента с сервера. Вам нужно будет оставить метод изменяющимся или даже случайным, чтобы каждая загрузка страницы несла свою схему шифрования. Но даже это будет взломано , если кто-то захочет его взломать. Вы также бросите вызов поисковым системам и, следовательно, получите удар по трафику реальных пользователей.
5 голосов
/ 07 октября 2008

Реально вы не можете остановить вредоносных сканеров - и любые меры, которые вы принимаете, чтобы предотвратить их, могут нанести вред вашим законным пользователям (за исключением, возможно, добавления записей в robots.txt, чтобы разрешить обнаружение)

Итак, вам нужно спланировать кражу контента - это, скорее всего, произойдет в той или иной форме - и понять, как вы будете бороться с несанкционированным копированием.

Профилактика невозможна, и попытка сделать это будет пустой тратой времени.

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

Чтобы обнаружить его, используйте что-то вроде http://www.copyscape.com/.

4 голосов
/ 07 октября 2008

Даже не пытайтесь устанавливать ограничения в Интернете!

Это действительно так просто.

Каждая потенциальная мера, препятствующая копированию (кроме очень строгого robots.txt), будет вредить вашим пользователям. Капчи - скорее боль, чем выгода. Проверка пользовательского агента отключает неожиданные браузеры. То же самое относится и к «умным» трюкам с JavaScript.

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

4 голосов
/ 07 октября 2008

Хорошие сканеры будут следовать правилам, которые вы указали в robots.txt, а вредоносные - нет. Вы можете установить «ловушку» для плохих роботов, как это объясняется здесь: http://www.fleiner.com/bots/.
Но опять же, если вы разместите свой контент в Интернете, я думаю, что для всех будет лучше, если его найти как можно более безболезненно (на самом деле, вы публикуете здесь, а не на каком-то неубедительном форуме, где эксперты обмениваются их мнения)

3 голосов
/ 07 октября 2008

Единственный способ остановить работу сайта - заставить пользователя доказать, что он человек.

Вы можете заставить пользователей выполнять задачу, которая легка для человека и трудна для машин, например: CAPTCHA. Когда пользователь впервые попадает на ваш сайт, представьте CAPTCHA и разрешите ему продолжить только после его завершения. Если пользователь начинает переходить со страницы на страницу слишком быстро, повторите проверку.

Это не на 100% эффективно, и хакеры всегда пытаются их взломать.

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

OK. Из идей.

2 голосов
/ 07 октября 2008

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

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

Мое мнение таково, что весь смысл Интернета в том, чтобы распространять полезный контент как можно большему количеству людей.

1 голос
/ 07 октября 2008

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

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

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

1 голос
/ 07 октября 2008

Короче говоря: вы не можете предотвратить разрыв. Вредоносные боты обычно используют пользовательские агенты IE и в настоящее время достаточно умны. Если вы хотите, чтобы ваш сайт был доступен для максимального количества пользователей (например, программ чтения с экрана и т. Д.), Вы не можете использовать javascript или один из популярных плагинов (flash) просто потому, что они могут препятствовать доступу законного пользователя.

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

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

0 голосов
/ 07 октября 2008

Раньше у меня была система, которая блокировала или разрешала на основе заголовка User-Agent. Он полагается на то, что сканер устанавливает свой User-Agent, но, похоже, большинство из них делает.

Это не сработает, если они используют поддельный заголовок для эмуляции популярного браузера.

...