Как определить источник включения файла js / css в веб-сайт - PullRequest
0 голосов
/ 21 сентября 2018

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

Давайте предположим, что у нас естьсайт X.На этом сайте есть скрипт A.js.Однако этот файл загружает A1.js и A2.js.В то же время этот сайт загружает B.js как сторонний файл, включающий B1.css.

. Здесь возникает вопрос: Как отслеживать путь включаемых файлов, например, X -> A.js -> (A1.js, A2.js).

Примечания :

  1. В асинхронном мире больше невозможно отслеживать исходящие запросы и сортировать их по порядку.
  2. Вы не можете смотреть на Referer читатель HTTP, поскольку он всегда указывает на X.
  3. Лучше всего было бы отслеживать его в инструментах Chrome Dev F12 .

Ответы [ 4 ]

0 голосов
/ 26 сентября 2018

Вы уже можете отслеживать путь к каждому включенному файлу в Chrome DevTools.

Для эксперимента я настроил веб-сервер на 127.0.0.42 (доступ через 127.0.0.42) и 127.0.0.43 (доступ изthird.party.domain.tld), поэтому оба этих сервера изолированы.

Веб-сайт X работает на 127.0.0.42 и имеет слишком упрощенную веб-страницу с таким кодом:

<head>
    <script src="js/A.js"></script>
    <script src="http://third.party.domain.tld/js/B.js"></script>
</head>

Он включаети локальный файл A.js и файл B.js от стороннего производителя.

Файл A.js имеет код того же уровня сложности, что и наша страница X:

console.log("Hello from A.js!");

function include_script(source) {
    var script = document.createElement("script");
    script.src = source;

    document.head.appendChild(script);
}

include_script("js/A1.js");
include_script("js/A2.js");

Обратите внимание, что 7-я строка - это строка, в которую добавляется файл сценария.

И A1.js, и A2.js имеют одну строку, в которую они записывают два разных сообщения на консоль..

Файл B.js, размещенный на стороннем сервере, содержит этот код:

console.log("Hello from B.js!");

function include_style(source) {
    var link = document.createElement("link");
    link.rel = "stylesheet";
    link.href = source;

    document.head.appendChild(link);
}

include_style("http://third.party.domain.tld/css/B.css");

Это загружает таблицу стилей со стороннего сайта.

Теперь откройте DevToolsи используйте вкладку Сеть:

enter image description here

Выделенные запросыкрасным цветом показаны нагрузки A1.js и A2.js, инициированные 7-й строкой A.js.

. Запрос синим цветом показывает нагрузку B.css, инициированную 8-й строкой B.js.

*.1052 * Зеленые запросы показывают включение как A.js, так и B.js из (index) - означает, что страница индекса запросила их.

enter image description here

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

enter image description here

Нажмите на ссылку инициатора (A.js:7 или (index)), чтобы отобразитьточная строка, где была инициирована загрузка ресурса.

enter image description here

0 голосов
/ 24 сентября 2018

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

https://www.httrack.com/

0 голосов
/ 25 сентября 2018

https://www.charlesproxy.com/

Charles - это веб-прокси (HTTP Proxy / HTTP Monitor), который работает на вашем собственном компьютере.Ваш веб-браузер (или любое другое интернет-приложение) затем настраивается на доступ к Интернету через Charles, а затем Charles может записывать и отображать для вас все данные, которые отправляются и принимаются.

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

0 голосов
/ 21 сентября 2018

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

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

Источник: Исходный код в браузере

Надеюсь, это то, что вы ищете.

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