Запретить автоматическим инструментам доступ к веб-сайту - PullRequest
2 голосов
/ 19 августа 2010

Данные на нашем сайте могут быть легко удалены. Как мы можем определить, просматривает ли человек сайт или инструмент?

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

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

Я разработал инструмент для очистки другого сайта. Поэтому я хочу только предотвратить это на моем сайте!

Ответы [ 6 ]

8 голосов
/ 19 августа 2010

НЕ сделай это.

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

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

3 голосов
/ 19 августа 2010

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

Однако здесь - это некоторые идеи на данный момент.

И здесь еще несколько.

и для моего любимого.У одного умного сайта, с которым я столкнулся, есть хороший.У него есть вопрос типа "На нашей странице" о нас ", как называется улица нашего офиса поддержки?"или что-то типа того.Требуется человек, чтобы найти страницу «О нас» (ссылка не говорит «о нас», она говорит что-то похожее, что бы человек узнал, хотя) И затем, чтобы найти адрес офиса поддержки, (отличный от основного корпоративногоофис и несколько других, перечисленных на странице) вы должны просмотреть несколько матчей.Современные компьютерные технологии не смогут понять это больше, чем истинное распознавание или распознавание речи.

Поиск в Google по запросу "Альтернативы капчи" может показаться довольно незначительным.

1 голос
/ 19 августа 2010

Это не может быть сделано без риска ложных срабатываний (и раздражающих пользователей).

Как мы можем определить, просматривает ли человек сайт или инструмент?

Вы не можете.Как бы вы справились с инструментами синтаксического анализа страницы для человека, такими как средства чтения с экрана и специальные инструменты?

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

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

0 голосов
/ 19 августа 2010

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

Запросы Ajax затрудняют анализ данных и требуют дополнительных усилий для получения анализируемых URL.cookie даже для обычных страниц, которые не требуют никакой аутентификации, создавайте cookie, как только пользователь заходит на домашнюю страницу, а затем он требуется для всех внутренних страниц. Это делает очистку немного затруднительной.веб-сайт, а затем расшифровать его во время загрузки с помощью кода JavaScript.Я видел это на нескольких сайтах.

0 голосов
/ 19 августа 2010

Я должен отметить, что , если есть желание, то есть способ .

При этом я подумал о том, что вы спрашивали ранее, и вот несколько простых вещей, которые я придумал:

  1. Простые наивные проверки могут быть фильтрацией и проверкой пользовательского агента. Вы можете найти список распространенных пользовательских агентов для сканеров здесь: http://www.useragentstring.com/pages/Crawlerlist/

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

  3. используйте капчу

Кроме этого, я не совсем уверен, есть ли что-нибудь еще, что вы можете сделать, но мне также было бы интересно увидеть ответы.

EDIT:

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

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

0 голосов
/ 19 августа 2010

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

...