Если клиент может обернуть твой скрипт в свои фреймы, тогда просто пройдись до самого верхнего 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();