У меня есть метод, который я тестирую прямо сейчас для скрытия javascript, чтобы пользователь не мог искать его в исходных файлах.javascript hiding eval
Метод заключается в следующем:
У вас есть куча файлов JavaScript включены, чтобы сделать вашу работу приложения. Библиотеки, такие как jQuery, dojo и собственный код. Это довольно стандартный.
Существует один критический фрагмент кода javascript, без которого приложение не будет функционировать, и любой любопытный пользователь не сможет делать головы или хвосты приложения без него. Эта критическая часть не загружается тегами скриптов. Вместо этого небольшой ненавязчивый скрипт вызывает базу данных и возвращает javascript в большой длинной строке.
Эта строка получает eval() - ed, чтобы сделать ее живым кодом. Но код динамически генерируется, поэтому он не будет отображаться, если пользователь просматривает исходный код или сохраняет веб-сайт. Кроме того, вы можете добавить какую-то соль или метку времени, чтобы пользователи не пытались обмануть базу данных, чтобы выявить ваше ядро JavaScript.
Я пытаюсь получить обратную связь по этому вопросу со стороны сообщества, и большинство примеров я загнутыми для сокрытия JavaScript с серверным кодом только что люди хочет, чтобы включить файл .php в тегах вместо .js. Это совершенно другое.
Итак, у вас оно есть. Это хорошая идея? Какие недостатки?
'eval' является злом, по крайней мере, в большинстве случаев. Также счастливая отладка с этим запутыванием кода. Это будет PITA, и в конце вы заметите, что еще есть способы разбить код бесплатно. Мне просто нужно посмотреть мои XHR, скопировать то, что я получаю, поместить в любую среду IDE и запустить инструмент, который правильно форматирует код. – clentfort
eval is evil http://blogs.msdn.com/b/ericlippert/archive/2003/11/01/53329.aspx – ama2
Если веб-браузер может его загрузить, любой может просмотреть его (например, вкладка firebug net) – Scuzzy