d.skuratovich:
igor-lemon:
d.skuratovich:
igor-lemon, ты может быть не до конца понимаешь, что вся твоя обфускация ничего не даст. Но все же, если предположить, что я ничего не знаю: расскажи пожалуйста, по какой причины ты считаешь это необходимым?
Это искренне, чтобы понять твой посыл
Вы видимо не совсем понимаете для чего первично применяется обфускация, т.к. самое главное применение - это запутывания кода. Минификация скрипта и все прочее это вообще вторично, вроде не живем в век 56k модемов уже.
Предположим у Вас в скрипте для аякс-свистелок явно прописаны урлы и из метода понятно какие данные передаются посредством запроса (к примеру url: ban.php c передаваемым параметром user_id), но к примеру где-то возможно где-то косяк с ACL на бэкенде, вуаля, мы можем банить. Это все утрировано конечно, однако первично нельзя допускать, чтобы клиент мог проанализировать код.
Как бы вы не обфусцировали код, это все с браузером не пройдет. Открываем в том же Chrome вкладку Network и смотрим, что и кому отправляет браузер, со всеми данными и тому прочее. И это никак вам не запретить, еще раз говорю: если к данным имеет доступ браузер, то и пользователь сможет просмотреть эти данные.
А то, о чем вы написал: скорее вопрос грамотности и профессионализма программиста делающего серверную часть
Если только на начальном этапе у новичка отбить желание. Для человека который целенаправленно смотрит эти данные это не преграда
Еще раз, Вы хотите мне донести то, в чем сами не до конца разбираетесь. Для браузера будет без разницы что обрабатывать, это
function MyClass(){
this.foo = function(argument1, argument2){
var addedArgs = parseInt(argument1)+parseInt(argument2);
return addedArgs;
}
var anonymousInnerFunction = function(){
// do stuff here!
}
}
или это
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;
Результат будет один и тот же. Только для того кто анализирует код 2-й вариант разобрать будет куда сложнее (вероятнее всего он просто плюнет на все). Обфускация делается не для браузера, а для для людей желающих поковыряться в исходниках.
То что Вы предлагаете просматривать через консоль, Я это называю "превентивной защитой от дурака". Вот пример, к примеру во вьюхе вы прописали, мол если вы модератор, то покажем кнопочку "Забанить". Но к примеру на бэкенде, в контроллере по обработке выставления бана забыли/закосячили или еще чего с ACL или RBAC. Вы нигде на странице не найдете кнопку "Забанить", соответственно каким образом вы поймете куда и какие параметры необходимо передавать? Однако просмотре и проанализировав открытй код, вы увидели, что запрос с баном отсылается к примеру на определенный урл, где передается айдишник юзера и к примеру токен. 2 движения, запрос отправлен вручную, пользователь забанен. Все утрировано, но изначальная цель обфускации не дать вам узнать, что и куда отправляется, что делается на стороне клиента.
Ладно, долго все рассусоливать. Я онлайнеру предложил провести конкурс, в котором с радостью поучаствовал бы)))