Поиск доменного имени сайта, на который есть горячая ссылка в Google App engine, с помощью web2py

StackOverflow https://stackoverflow.com/questions/1247593

Вопрос

Допустим, у нас есть изображение в Google App Engine, и сайты размещают на нем горячие ссылки.Как я могу найти доменные имена сайтов?

Моей первой мыслью было:

запрос.клиент

а затем выполните обратный поиск, но это невозможно в GAE и займет много времени.Я почти уверен, что есть свойство, которое позволяет мне получить URL сайта, запрашивающего файл (где-то в запросе?).У ГАЭ есть Класс запроса но я не смог заставить это работать внутри web2py.

Есть какие-нибудь идеи?

Это было полезно?

Решение

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

Не существует автоматического способа разрешить DNS, кроме как вручную разрешить его.Как вы сказали, разрешение DNS требует дополнительного времени, и для Web2Py или любого другого фреймворка нет смысла это делать.

Другие советы

Если вы просто хотите узнать доменные имена (не для того, чтобы блокировать запросы, запуская скрипт при запросе URL-адреса изображения), то они будут в журналах запросов.В админке перейдите в раздел "Журналы", выберите "Только запросы" из выпадающего списка.Если вы развернете "Параметры", вы можете выполнить фильтрацию по соответствующему имени файла.

Затем разверните каждую запись журнала запросов, и референтом будет либо дефис, либо строка в кавычках, непосредственно следующая за кодом состояния 200 (или любым другим) и переданным размером.Очень высока вероятность того, что не все клиенты заблокировали или подделали заголовок, поэтому вы увидите URL-адреса, с которых связаны ссылки.

Вы также можете загрузить журналы с помощью SDK и выполнять поиск / обработку в них локально:

appcfg.py --email=whatever request_logs some_filename
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top