как узнать, какая веб-страница вызывает внешний скрипт javascript

как узнать, какая веб-страница вызывает внешний скрипт javascript? Мне необходимо отслеживать, кто использовал мой JavaScript используя прямую ссылку на мой сервер domen.ru/script.js


Ответы (1 шт):

Автор решения: S.H.

По моему, ответ очевиден:

Вы можете отслеживать обращения к Вашему серверу, анализируя его логи.

Если быть более конкретным, то, например, для nginx свежие логи находятся - по умолчанию - в /var/log/nginx/access.log.1

Пример записей из лога:

    77.246.237.74 - - [22/Oct/2021:15:38:06 +0300] "GET /style/index.css HTTP/1.1" 200 9093 "https://maket1.junecat.ru/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"
    77.246.237.74 - - [22/Oct/2021:15:38:06 +0300] "GET /image/logo.png HTTP/1.1" 200 77710 "https://maket1.junecat.ru/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"
    77.246.237.74 - - [22/Oct/2021:15:38:06 +0300] "GET /index.js HTTP/1.1" 200 135 "https://maket1.junecat.ru/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"
    77.246.237.74 - - [22/Oct/2021:15:38:06 +0300] "GET /favicon.ico HTTP/1.1" 404 209 "https://maket1.junecat.ru/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"

Как раз в третьей строке лога Вы видите запрос к скрипту.

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

Обратите внимание, что, вообще, полезно посмотреть в директорию логов - в моём случае это /var/log/nginx/, потому, что еще там содержится файл error.log.1 - там содержатся ошибки, которые возникли при обращениии к веб-серверу, а на них тоже иногда интересно поглядывать. Например, видно, как боты приходят его ломать стандартными способами.

Дополнение

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

→ Ссылка