2014-01-16 1 views
1

У меня есть внешний файл .js, который я загружаю на одном из моих сайтов в популярную диаграмму jquery. Я не хочу, чтобы кто-то еще мог просто скопировать мой код и заставить его работать для них, так есть способ сохранить файл .js, работающий только в одном домене? Как будто вы можете препятствовать обращению изображений к другим доменам.Можете ли вы сделать внешний .js-файл работать только с одним доменом?

+0

см. Это http://stackoverflow.com/questions/10224320/preventing-users-to-view-my-javascript-source-file –

+0

Да, какой хостинг-провайдер вы используете? В принципе, техника для этого идентична технике для изображений - вы обнаруживаете заголовок реферера, который отправляет браузер, и если он не соответствует вашему домену, вы возвращаете ответ «FORBIDDEN» (возможно, 403)? –

+0

Вот еще один вопрос, похожий на ваш что дает некоторые предложения: [StackOverflow.com/questions...](http://stackoverflow.com/questions/194397/how-can-i-obfuscate-javascript) Стивен –

ответ

0

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

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

Проверить эту ссылку для получения дополнительной информации о Same-Origin:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript

В качестве альтернативы, используйте серверный код для создания этих графиков - как не может помешать клиентам загрузить яваскрипт источника.