как узнать, какая веб-страница вызывает внешний скрипт javascript
как узнать, какая веб-страница вызывает внешний скрипт javascript? Мне необходимо отслеживать, кто использовал мой JavaScript используя прямую ссылку на мой сервер domen.ru/script.js
Ответы (1 шт):
По моему, ответ очевиден:
Вы можете отслеживать обращения к Вашему серверу, анализируя его логи.
Если быть более конкретным, то, например, для 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 - сервис