Как определить на каком домене установлено веб-приложение?

Возникла задача определить на каком домене запущено приложение?
Скрипт представляет из себя веб-приложение, которое можно поставить на свой хостинг(например чат) с бэкендом на моём хостинге.
Можно ли точно определить на каком домене запущено это веб-приложение?



Нужно на Main Server определить с какого Third-Part Server было загруженно этот JavaScript приложение. Всему что идёт с этого сервера верить нельзя.
  • Вопрос задан
  • 4928 просмотров
Пригласить эксперта
Ответы на вопрос 5
Evengard
@Evengard
Если «клиентская» часть (та, которая ставится на сторонние хостинги) на Javascript, то нет ничего проще — Chrome Dev tool ls или Firebug. Если нет (php, java, еще что-то) — то вероятность меньше, хотя все равно можно случайно пропалить, например, по адреса подгружаемых картинок, если этот фактор не учтён. Вообще, слишком мало инфы.
Ответ написан
Комментировать
Однозначно определить можно только чтением заголовка Host у входящего HTTP запроса.
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
tcpdump'ом отловите пакет в сторону их сервера, там внутри ищите заголовок Host:
Только не у входящего пакета, а у исходящего.
Ответ написан
Комментировать
FanKiLL
@FanKiLL
На чем написана клинтсквя часть? flash, silverlight, javascript?
javascript:
var host = window.location.hostname;


Тут подробней:
developer.mozilla.org/en-US/docs/DOM/window.location
Ответ написан
FanKiLL
@FanKiLL
Немного поспешил ответить, вы не только клиентскую часть даёте устанавливать? но и какую то серверную часть, котороя обращается к вашему серверу?
Непонятно как вы хотите определять домен, ведь запускается она на машине, наружу выходит по ip который может быть привязан к домену.
Узнать имя машины на котором запущенно:
на Ruby:
require 'socket'
Socket.gethostname


На python:
import socket
socket.gethostname()


Узнать из своего бекэнда с какого домена приходят запросы по ip, если в запросах ip значится:
на Ruby:
require 'socket'
//Вернёт yandex.ru
domain = Socket.gethostbyaddr([213,180,193,11].pack("CCCC"))[0]


На python:
import socket
//Вернёт www.yandex.ru
domain = socket.gethostbyaddr("87.250.250.3")[0]


Можно как я написал выше, узнать js и отправить ajax'ом на сервер и там с этим уже что то делать, например отослать вам репорт…
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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