Я знаю, я знаю – obfuscated html / js-код бесполезен (я читал другие вопросы на SO), но я все же хочу сделать жизнь сложнее для копий-кошек моего сайта …
Я запускаю php-сайт, который генерирует html-выход. Я бы хотел, чтобы FINAL html-выход (который имеет html, js, json и использует ajax) для обфускации. Есть ли для этой цели функция php? Я нашел http://www.ioncube.com/html_encoder.php, но он полагается на некоторые из своих специальных программ для загрузки на сервер – т. Е. Не-go …
Какие-либо предложения?
Не истинная обфускация, но довольно трудная для чтения в большинстве случаев (и с меньшей интенсивностью полосы пропускания)!
<?php ob_start(); // Generate output here $output = ob_get_contents(); ob_end_clean(); $output = preg_replace('\s{2,}',' ', $output); echo $output; ?>
Вы можете сжать свой JavaScript и css
Для вывода php это можно сделать, используя ob_start
, посмотрите на это http://ru.php.net/manual/en/function.ob-start.php#71953
Вы должны взглянуть на Minify, у него есть класс Minify_HTML, удаляющий пробелы, ненужные комментарии и токены
Нет, php не мог этого сделать без чего-либо на стороне клиента. У вас всегда может быть некоторый javascript, декодирующий его, но это не будет дружественным к тому, кто его отключит, это будет медленным и не будет поддерживать поисковую систему.
Ну, в моих исследованиях обфускатора HTML, таких как http://htmlobfuscator.com/ , они действительно меняют свой «специальный» код на обратный base64. Когда мы декодируем его, они фактически упакованы js-файлом, используя упаковщик, который вы можете найти в Google.
Итак, теперь мы можем это сделать
Slashup весь html, для строки Js, затем «упакуйте» javascript, затем закодируйте его в base64, а затем поверните закодированную строку. Виола, сделано. Вы получите что-то вроде этого:
var IO1 = 'KkSKpcCfngCdpxGcz / ElPpEWJj'; функция l1O (данные) {var OOOlOI = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 + / ="; var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, enc = ''; делать {h1 = OOOlOI.indexOf (data.charAt (я ++)); h2 = OOOlOI.indexOf (data.charAt (я ++)); h3 = OOOlOI.indexOf (data.charAt (я ++)); H4 = OOOlOI.indexOf ( data.charAt (i ++)); bits = h1> 16 & 0xff; o2 = bits >> 8 & 0xff; o3 = bits & 0xff; if (h3 == 64) {enc + = String.fromCharCode (o1)} else if (h4 == 64) {enc + = String.fromCharCode (o1, o2)} else {enc + = String.fromCharCode (o1, o2, o3)}} while (i = 0; i--) {ret + = string.charAt (i);} return ret; } Eval (l1O (ООО (IO1)));
Удачи ~