2014-08-11 3 views
-1

Я хочу, чтобы javascript загружался только в домене, который я указываю, а если он загружен другим доменом, страница будет направлена ​​в указанный мной домен.Загрузите javascript только для определенного домена?

например, у меня есть страница в домене mydomain.com с некоторым javascript, затем кто-то скопируйте этот javascript с моей страницы и загрузите его в hisdomain.com. Потому что я установил скрипт для работы только в домене mydomain.com, поэтому сценарий не будет работать в hisdomain.com. Кроме того, было бы лучше, если бы hisdomain.com перенаправлялся на mydomain.com.

Я хочу использовать этот метод, чтобы избежать сценариев кражи и клонирования людьми, которые несут ответственность.

Спасибо!

+3

Вы не можете. Если они напрямую связаны с файлом .js, вы можете разрешать доступ к ним только определенным доменам, но если они копируют содержимое файла, вы ничего не можете сделать, чтобы остановить их - вы можете блокировать самые глупые людей, которые не могут вынуть все очень простые механизмы, которые вы вводите (например, проверка домена в 'window.location.href'), но все это кажется огромной тратой усилий. –

+1

Избегайте кражи на самом деле не все, что практически - что-то существенное, вы должны свести к минимуму, но кроме того, что большинство людей не беспокоится – tofarr

+2

Что остановить, чтобы кто-то загрузил JavaScript, отредактировал «защиту» и повторно использовал его? Проведите свое время, создавая интересные вещи, а не пытайтесь (зря) защищать свой сценарий. –

ответ

1

Я хочу, чтобы javascript загружался только в домене, который я указываю, а если он загружен другим доменом, страница будет направлена ​​в домен, который я укажу.

Это следует сделать это:

if (location.host != "your.domain") location.href = "http://your.domain"; 

Я хочу использовать этот метод, чтобы избежать краж и клонирования скриптов людей, которые не отвечают.

Эта линия поможет только в том случае, если в другой домен входит your.domain/script.js (и крадет вашу полосу пропускания). Когда скрипт на самом деле скопировал (и не обслуживался с вашего сервера), было бы тривиально удалить такую ​​строку. Это невозможно защитить. Скорее взглянуть на How can I obfuscate (protect) JavaScript?

+0

как насчет javascript obfuscator? – bl4ckbox

+0

Это другой вопрос, и он все равно не помешает им использовать * скрипт. Посмотрите на ссылку, которую я редактировал в свой ответ. – Bergi

+0

Я имею в виду, что я защищу свой скрипт только для работы в моем домене, добавив код от вас. После этого я запутываю скрипт, поэтому строка 'if (location.host! =" Your.domain ") location.href =" http: //your.domain ";' не будет видна без деобфускации. – bl4ckbox

0

это поможет

if (location.host == "yourwebsite.com") { 

// put your script function here 
} 
else { 
location.href = "http://yourwebsite.com"; 
} 
Смежные вопросы