Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Шифрование HTML кода.
 
 автор: Runar   (04.09.2006 в 23:54)   письмо автору
 
 

Шифрование HTML кода При загрузке страницы код шифрует на лету.


<?

function _fwk_filter_encrypt($content

  
$table "0123456789abcdefghijklmnopqrstuvwxy zABCDEFGHIJKLMNOPQRSTUVWXYZ_@"
  
$xor 165

  
// Prepare encoding table 
  
$table array_keys(count_chars($table1)); 
  
$i_min min($table); 
  
$i_max max($table); 
  for (
$c count($table); $c 0$r mt_rand(0$c--)) 
    
array_splice($table$r$c $rarray_reverse(array_slice($table$r$c $r))); 
     
  
// Encode sequence 
  
$len strlen($content); 
  
$word $shift 0
  for (
$i 0$i $len$i++) 
  { 
    
$ch $xor ord($content[$i]); 
    
$word |= ($ch << $shift); 
    
$shift = ($shift 2) % 6
    
$enc .= chr($table[$word 0x3F]); 
    
$word >>= 6
    if (!
$shift
    { 
      
$enc .= chr($table[$word]); 
      
$word >>= 6
    } 
  } 
  if (
$shift
    
$enc .= chr($table[$word]); 

  
// Decode sequence 
  
$tbl array_fill($i_min$i_max $i_min 10); 
  while (list(
$k,$v) = each($table)) 
    
$tbl[$v] = $k
  
$tbl implode(","$tbl); 
   
  
$fi ",p=0,s=0,w=0,t=Array({$tbl})"
  
$f  "w|=(t[x.charCodeAt(p++)-{$i_min}])<<s;"
  
$f .= "if(s){r+=String.fromCharCode({$xor}^w&255);w>>=8;s-=2}else{s=6}"
   
  
// Generate page 
  
$r "<script language=JavaScript>"
  
$r.= "function decrypt_p(x){";
  
$r.= "var l=x.length,b=1024,i,j,r{$fi};"
  
$r.= "for(j=Math.ceil(l/b);j>0;j--){r='';for(i=Math.min(l,b);i>0;i--,l--){{$f}}document.write(r)}"
  
$r.= "}decrypt_p(\"{$enc}\")"
  
$r.= "</script>"
  return 
$r

ob_start("_fwk_filter_encrypt"); 

?> 


Почему английские буквы нормальные, а русские не поймешь что за буквы, что надо исправить в этом коде.

   
 
 автор: Lelik   (05.09.2006 в 06:14)   письмо автору
 
   для: Runar   (04.09.2006 в 23:54)
 

наверное в переменную $table следует добавить русский алфавит

   
 
 автор: Владимир22   (05.09.2006 в 15:31)   письмо автору
 
   для: Lelik   (05.09.2006 в 06:14)
 

Неплохой скрипт, но только для английских текстов. Кто знает, как сделать его рабочим с русскими буквами?

   
 
 автор: Loki   (05.09.2006 в 17:22)   письмо автору
 
   для: Runar   (04.09.2006 в 23:54)
 

Как и все заумное ломается с черного хода:)
Вот это

document.write(r)

заменил вот на это

document.write(escape(r))

а результат прогнал через urldecode()
кидайте еще:)

   
 
 автор: Runar   (06.09.2006 в 02:09)   письмо автору
 
   для: Loki   (05.09.2006 в 17:22)
 

Не понял?

   
 
 автор: Loki   (06.09.2006 в 09:44)   письмо автору
 
   для: Runar   (06.09.2006 в 02:09)
 

Давайте зашифрованную страницу, я ее расшифрую в течение 30 секунд даже не разбираясь в алгоритме шифрования:)

   
 
 автор: Trianon   (06.09.2006 в 09:47)   письмо автору
 
   для: Loki   (05.09.2006 в 17:22)
 

проще в начало добавить <textarea>

   
 
 автор: Loki   (06.09.2006 в 17:28)   письмо автору
 
   для: Trianon   (06.09.2006 в 09:47)
 

я чувствовал что должен быть вариант проще:)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования