Шифрование и ссылка на имя файла Javascript - PullRequest
2 голосов
/ 23 марта 2012

Я хочу изменить имена JavaScript в своем приложении для дополнительной безопасности, такой как Facebook и Google Plus.

Существует ли приложение или библиотека, которые могут изменять имена файлов JavaScript и ссылаться на них в файлах my view (написанных на php) и JavaScript.


Пример желаемого эффекта

Изменить это (перед развертыванием):

В папке: js / myfunction.js

В файле:<script type="text/javascript" src="https://mysite.com/myfunction.js"></script>

Для этого (после развертывания):

В папке: js / PuKJS78UyH.js

В файле: <script type="text/javascript" src="https://mysite.com/PuKJS78UyHK.js"></script>

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Вместо того, чтобы запутывать и шифровать, вы должны подумать об оптимизации. Пара вещей, которые вы могли бы сделать:

  1. Объединение всех распространенных файлов JS в один файл (минимизирует количество запросов, а также решает вашу проблему - не будет имен файлов, которые можно будет скрыть)
  2. Минимизируйте JS - так быстрее и занимает меньше места (и, кроме того, становится нечитаемым)

Этот инструмент выглядит как хорошее место для начала: http://code.google.com/p/minify/

0 голосов
/ 23 марта 2012

Вы не должны зависеть от шифрования JavaScript. Это небезопасно и может быть взломано за короткое время. Использование нескольких сторонних языков, таких как PHP, намного безопаснее, чем JavaScript.

Однако, если вы хотите выполнить простую кодировку base-64 в JavaScript, которую обычные люди не могут читать, вам повезло, библиотека не нужна. \(^o^)/

Просто используйте btoa() для кодирования и atob() для декодирования. Затем вы можете создать тег <script>, используя закодированный URL.

Подробнее в MDN: window.atob

Пример:

var txt = "myfunction.js";
var encode = btoa(txt);
var decode = atob(encode);
console.log( encode );  //return "bXlmdW5jdGlvbi5qcw=="
console.log( decode );  //return "myfunction.js" (orginal)

//Do whatever you want with the encoded text, like
$("<script src='/js/"+encode+".js' type='text/javascript'></script>")
    .appendTo("head");  //dynamically adding an script tag using jQuery

Демо: http://jsfiddle.net/DerekL/JWSUs/

Результат:
result

Результат от jsFiddle. Вы можете видеть, что «myfunction.js» кодируется как «bXlmdW5jdGlvbi5qcw ==», что обычные люди не смогут прочитать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...