Как предотвратить несанкционированный глобальный поиск

Мы проверяем, является ли конкретное значение строкой или нет, используя type(value).

output = [tuple([j for j in i if type(j)!=str]) for i in ListTuples]
print(output)
    [(100,), (80,), (20,), (40,), (40,)]
8
задан John Saunders 22 December 2012 в 04:49
поделиться

5 ответов

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

Проблема с использованием robots.txt в этой ситуации состоит в том, что паук может просто принять решение проигнорировать его.

Править: Ограничение уровня является возможностью, но оно переносит от некоторых из тех же проблем идентификации (и отслеживание) "хорошие" и "плохие" пользовательские АГЕНТЫ/ДЮЙМ/С. В системе мы записали, чтобы сделать некоторый внутренний просмотр страницы / подсчет сессии, мы устраняем сессии на основе уровня просмотра страницы, но мы также не волнуемся об устранении "хороших" пауков, так как мы не хотим их считаемый в данных также. Мы ничего не делаем о предотвращении никакого клиента от фактического просматривания страниц.

9
ответ дан 5 December 2019 в 07:13
поделиться

Один подход должен создать яму tar HTTP; встройте ссылку, которая только будет видима к автоматизированным поисковым роботам. Ссылка должна перейти к странице, наполненной случайным текстом и ссылками на себя (но с дополнительной информацией о странице: /tarpit/foo.html, /tarpit/bar.html, /tarpit/baz.html - но имеют сценарий в/tarpit/, обрабатывают все запросы с этими 200 результатами).

Для хранения хороших парней от ямы генерируйте 302 перенаправления к домашней странице, если агентом пользователя является Google или Yahoo.

Это не прекрасно, но это, по крайней мере, замедлит наивные.

Править: Как предложил Constantin, Вы могли отметить яму tar как запрещенную в robots.txt. Хорошие парни используют поисковые роботы, которые соблюдают этот протокол, останется вне ямы tar. Это, вероятно, избавилось бы от требования для генерации перенаправлений для известных хороших людей.

6
ответ дан 5 December 2019 в 07:13
поделиться

Если Вы хотите защитить себя от универсального поискового робота, используйте ловушку.

См., например, http://www.sqlite.org/cvstrac/honeypot. Хороший паук не откроет эту страницу, потому что robots.txt сайта запрещает его явно. Человек может открыть его, но, как предполагается, не нажимает на ссылку "i am a spider". Плохой паук, конечно, перейдет по обеим ссылкам и так предаст его истинные идентификационные данные.

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

5
ответ дан 5 December 2019 в 07:13
поделиться

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

1
ответ дан 5 December 2019 в 07:13
поделиться

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

Для обнаружения злонамеренного использования, хотя, попытайтесь добавить ссылку прерывания на странице с результатами поиска (или страница, которую они используют в качестве Вашей карты сайта), и скройте его с CSS. Должен проверить, утверждают ли они, что были действительным ботом и пропустили их все же. Можно сохранить их IP для будущего использования и быстрого поиска ARIN WHOIS.

0
ответ дан 5 December 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: