Просто предоставить небольшой трюк, который я использую, помогает людям меньше видеть ваш код,
Один из приемов, которые я делаю, который не препятствует нахождению JavaScript опытным разработчиком или хакером, но отпугивает нескольких людей, играющих с Firebug / inspector,
использовать jQuery или другую библиотеку с селектором решетки
второй порт захода - это все файлы, которые вы поместили в загрузочный файл E.G
Loader.js
(function($){
function loader(type, addr){
var head = $("head")[0];
switch(type){
case "script":{
var element = $(document.createElement("script"));
element.attr("type", "text/javascript");
element.attr("src", addr);
element.attr("loaded", "loader")
$(head).append(element);
}
case "style":{
var element = $(document.createElement("link"));
element.attr("rel", "stylesheet");
element.attr("type", "text/css");
element.attr("loaded", "loader");
element.attr("href", addr);
$(head).append(element);
}
}
}
loader("css", "path/to/your.css");
loader("script", "path/to/script.js");
loader("script", "unloader.js")
})(jQuery);
Таким образом, для начала использовалось закрытие, которое не позволяло никому использовать консольный ввод инспектора для просмотра кода, который был запущен.
поэтому, как только этот файл будет передан, он загрузит ваши CSS и JS, но вы все равно можете увидеть там загруженный элемент head вашего инспектора, благодаря браузерам и тому, как они работают, вы можете удалять их, а не выгружать, это означает код не будет удален из выполнения, но будет препятствовать их отображению в инспекторе, это то, что происходит в загрузчике.
unloader.js
(function($){
$("head *[loaded=loader]").remove();
})(jQuery);
Вышеуказанное удалит файлы, загруженные через загрузчик.
Единственное, что вам нужно запомнить - это добавить loaded="loader"
к вашему скрипту, который включает загрузчик, теперь это не делает невозможным просмотр ваших файлов, но мешает инспектору показывать их в HTML,
способы обойти это можно так: «Просмотреть исходный код», посмотреть файл загрузчика и прочитать его, поэтому убедитесь, что вы минимизируете код, который я использую Google Closure Compiler (http://closure -compiler.appspot.com / home)
даже это не останавливает их, а только усложняет. Один из шагов, которые я протестировал, но не использовал, - загрузчик, и файлы, которые вы загружаете, используют правило .HTAccess, чтобы проверить, что у них есть ссылка на ссылку на вашем сайте, это предотвратит их прямой просмотр к вашим файлам кода js / css
другой совет: не храните их в обычных местах и не используйте общие имена. Сценарии E.G в / scripts / CSS в / style / или style.css
Вот пример закрытия загрузчика, скомпилированного и затем запутанного
Loader.js
var _0xc596=["\x68\x65\x61\x64","\x73\x63\x72\x69\x70\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x74\x79\x70\x65","\x74\x65\x78\x74\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74","\x61\x74\x74\x72","\x73\x72\x63","\x6C\x6F\x61\x64\x65\x64","\x6C\x6F\x61\x64\x65\x72","\x61\x70\x70\x65\x6E\x64","\x6C\x69\x6E\x6B","\x72\x65\x6C","\x73\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x74\x65\x78\x74\x2F\x63\x73\x73","\x68\x72\x65\x66","\x73\x74\x79\x6C\x65","\x63\x73\x73","\x70\x61\x74\x68\x2F\x74\x6F\x2F\x79\x6F\x75\x72\x2E\x63\x73\x73","\x70\x61\x74\x68\x2F\x74\x6F\x2F\x73\x63\x72\x69\x70\x74\x2E\x6A\x73","\x75\x6E\x6C\x6F\x61\x64\x65\x72\x2E\x6A\x73"];(function (_0x76e5x1){function _0x76e5x2(_0x76e5x2,_0x76e5x3){var _0x76e5x4=_0x76e5x1(_0xc596[0])[0];switch(_0x76e5x2){case _0xc596[1]:var _0x76e5x5=_0x76e5x1(document[_0xc596[2]](_0xc596[1]));_0x76e5x5[_0xc596[5]](_0xc596[3],_0xc596[4]);_0x76e5x5[_0xc596[5]](_0xc596[6],_0x76e5x3);_0x76e5x5[_0xc596[5]](_0xc596[7],_0xc596[8]);_0x76e5x1(_0x76e5x4)[_0xc596[9]](_0x76e5x5);;case _0xc596[15]:_0x76e5x5=_0x76e5x1(document[_0xc596[2]](_0xc596[10]));_0x76e5x5[_0xc596[5]](_0xc596[11],_0xc596[12]);_0x76e5x5[_0xc596[5]](_0xc596[3],_0xc596[13]);_0x76e5x5[_0xc596[5]](_0xc596[7],_0xc596[8]);_0x76e5x5[_0xc596[5]](_0xc596[14],_0x76e5x3);_0x76e5x1(_0x76e5x4)[_0xc596[9]](_0x76e5x5);;} ;} ;_0x76e5x2(_0xc596[16],_0xc596[17]);_0x76e5x2(_0xc596[1],_0xc596[18]);_0x76e5x2(_0xc596[1],_0xc596[19]);} )(jQuery);
unloader.js
var _0xc2fb=["\x72\x65\x6D\x6F\x76\x65","\x68\x65\x61\x64\x20\x2A\x5B\x6C\x6F\x61\x64\x65\x64\x3D\x6C\x6F\x61\x64\x65\x72\x5D"];(function (_0x3db3x1){_0x3db3x1(_0xc2fb[1])[_0xc2fb[0]]();} )(jQuery);
для воспроизведения: http://closure -compiler.appspot.com / home введите код под // ДОБАВИТЬ КОД ЗДЕСЬ
Затем возвращаемый результат используется: http://www.javascriptobfuscator.com/Default.aspx, чтобы сделать его еще более нечитаемым.
Надеюсь, это поможет любому, кто хочет сделать JS максимально безопасным
Но, пожалуйста, помните, как и все остальные говорили, что это не остановит профессиональных хакеров, просто очень затруднит чтение и понимание