Показать сообщение отдельно
  #6 (permalink)  
Старый 22.04.2015, 10:57
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

Если клиент может обернуть твой скрипт в свои фреймы, тогда просто пройдись до самого верхнего window и сравни их домены с доменом непосредственно того фрейма, в котором запущен твой скрипт (ну и / или со статичным списком допустимых доменов). Примерно так:
var w = window;
var d = window.location.href.match(/^(?:[^:]+:\/\/)?([^\/]+)/)[1];
var permittedList = {'yandex.ru': true, 'mail.ru' : true};//Список разрешенных доменов
permittedList[d] = true;
while ((w = w.parent) != window.top) {
    if (!(w.location.href.match(/^(?:[^:]+:\/\/)?([^\/]+)/)[1] in permittedList)) {
        killScript();//Убей всё, что сможешь
    }
}
w === window.top && 
        !(w.location.href.match(/^(?:[^:]+:\/\/)?([^\/]+)/)[1] in permittedList) &&
        killScript();

Последний раз редактировалось demoniqus, 22.04.2015 в 12:35.
Ответить с цитированием