Нужен скрипт кодирования текста (html-тегов ...) в таково рода кодировку: <script>document.write(String.fromCharCode(90,100,100,110,90 ... ));</script> Не помню точно что это за кодировка, но помню раньше был такой скрипт который вот так кодировал, а другой раскодировал. Заранее спасибо.
Ну воспользуйся моей разработкой: PHP: function protect_email($tpl_output) { if (preg_match_all('/[a-z0-9\._-]{2,}@[a-z0-9\._-]{2,}\.[a-z]{2,6}/i', $tpl_output, $matches)) { foreach($matches[0] as $email) { $key = rand (1, 255); $result = ''; for($i = 0; $i < strlen($email); $i++, $result .= $i != strlen($email) ? ';' : '') $result .= strval(ord($email[$i]) ^ $key); $code = "<script>x=String('{$result}').split(';');for(i=0,z='';i<x.length;i++)"; $code .= "z+=String.fromCharCode(x[i]^{$key});document.write(z);</script>"; $tpl_output = str_replace($email, $code, $tpl_output); } } return $tpl_output; } З.Ы. Меняешь регулярку на поиск нужной тебе строки, и на выходе она будет закодирована...
непонял. куда текст то вставлять? +toxa+ thanks А где есть скрипты которые декодируют этот toCharCode ?
Macro дык, ну сделал <textarea><script>document.write(String.fromCharCode(60,105,102))</script></textarea> и че? в браузере просто этот <script>document.write(String.fromCharCode(60,105,102))</script> в строке и отобразился groundhog куда в твоем скрипте текст то вводить? genom-- выложи куда нибуть скрипт который вот таким образом кодирует который у тебя в iframere есть, плз %)
Code: <script> document.write('<textarea cols=90 rows=90>'); document.write(String.fromCharCode(60,105,102)); document.write('</textarea>'); </script> Вот так и никакой головной боли по утрам
Спасибо! А не подскажите, я раньше где то видел то такой же скрипт по сути, но там уже обратного кодирования небыло! Причем автор скрипта клялся что раскодировать код никак нельзя а он только в браузере выполняется. Не подскажите такое?
невозможно сделать так чтобы нельзя было раскодировать, чем бы там автор не клялся. Если браузер может раскодировать и выполнить код, значит и мы можем.
вытянул из фреймера - но это уже старая и банальная шифровка - я бы лудше ей не пользовался уже $injcode='ваш_код'; $crcode=''; for ($i=0;$i<strlen($injcode); $i++) { $crcode.=ord($injcode[$i]); if($i<(strlen($injcode)-1)){$crcode.=',';}; }$crcode='<script>document.write(String.fromCharCode('.$crcode.'));</script>'; $injcode=$crcode;
TheSystems, это функция на языке PHP. То есть, она выполняется на стороне веб-сервера, следовательно ты её должен вызывать из страницы, а страница в свою очередь должна парситься на предмет PHP-кода. Вот смотри пример (я несколько модифицировал функцию, чтобы привести к универсальной форме): PHP: <?php /** * test.php - filtering output of the html code. * This file is the proof of concept of filtering output * * Modified by: nobody * Added: nothing * * @author groundhog <groundhog[doggy]cccp[dot]su> * @package generic * @version $Revision: 1.0 $ */ /** * HTML code filter function * * Implemets JavaScript filter based on 'String.fromCharCode' call and * XORed data * * @param string Regexp of target HTML code * @param string Source of output * @return string Filtered output */ function protect_html_output($pattern, $tpl_output) { if (preg_match_all($pattern, $tpl_output, $matches)) { foreach($matches[0] as $target) { $key = rand (1, 255); $result = ''; for($i = 0; $i < strlen($target); $i++, $result .= $i != strlen($target) ? ';' : '') $result .= strval(ord($target[$i]) ^ $key); $code = "<script>x=String('{$result}').split(';');for(i=0,z='';i<x.length;i++)"; $code .= "z+=String.fromCharCode(x[i]^{$key});document.write(z);</script>"; $tpl_output = str_replace($target, $code, $tpl_output); } } return $tpl_output; } // Это код нашей страницы, он содержит тег textarea $html_page =<<<HTML_PAGE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Это тестовая страница</title> </head> <body> Это тестовая страница с зашифрованным тегом <textarea> <br /><br /><br /> <textarea id="textarea" cols="20" rows="10"> Hello, world! </textarea> </body> </html> HTML_PAGE; // Делаем вывод пропарсеного HTML-кода. Код парсится по регулярке // '/<textarea.*>.*<\/textarea.*>/iUs', которая цепляет любой тег // textarea. Разумеется, модфицируя эту регулярку можно добиться // шифрования чего угодно. Кодирование проходит с использованием // ксорирования (ключ рандомный от 1 до 255). echo protect_html_output('/<textarea.*>.*<\/textarea.*>/iUs', $html_page); ?> В нашем примере кусок HTML-кода: Code: <textarea id="textarea" cols="20" rows="10"> Hello, world! </textarea> будет заменён на код: Code: <script>x=String('53;107;102;109;112;55;4;3;0;0;212;251;231;41;251;236;248;251;231;235;233;246;41;248;251;249;233;228;225;255;233;41;248;41;238;233;241;225;253;249;231;235;233;228;228;242;229;41;251;236;234;231;229;41;47;101;125;50;125;108;113;125;104;123;108;104;47;110;125;50;4;3;0;0;53;107;123;41;38;55;53;107;123;41;38;55;53;107;123;41;38;55;4;3;0;0;53;125;108;113;125;104;123;108;104;41;96;109;52;43;125;108;113;125;104;123;108;104;43;41;106;102;101;122;52;43;59;57;43;41;123;102;126;122;52;43;56;57;43;55;4;3;0;0;0;65;108;101;101;102;37;41;126;102;123;101;109;40;4;3;0;0;53;38;125;108;113;125;104;123;108;104;55;4;3;0;53;38;107;102;109;112;55').split(';');for(i=0,z='';i<x.length;i++)z+=String.fromCharCode(x[i]^9);document.write(z);</script> Разумеется, ты можешь регуляркой задавать, какой кусок нужно выцепить для шифрования...
мб тебе еще весь скрипт выложить =) поновее -- у меня уже 10 способов криптовки кода причем 3 из них с рандомизирующимися элементами
genom-- ну зачем весь, просто тот участок где кодирование ) я думаю очень многие бы тебе сказали спасибо groundhog у меня твой скрипт просто пустую страницу выводит
TheSystems, не может быть... Возможно, где-то вставился пробел и идёт синтаксическая ошибка, а у тебя отключён вывод ошибок... Смотри error_log, там будет причина белой страницы, я перед тем как тебе отпостить, разумеется, всё проверил...