بسم الله الرحمن الرحيم
حصلت على هذا الكود من أحد المواقع وهو يقوم بتشفير المصدر لصفحات الHTML المتشكلة عن طريق سكريتات الPHP وكل ما عليك هو إضافة الملف الخاص بالكود في بداية مشروعك.. مثال
يقوم الكود بتحويل محتويات الصفحة إلى ما يقابلها من رموز ASCII بطريقة معينة بحيث لا يتم التعرف على الشفرة المصدرية للصفحة.. لكنه لا يدعم الحروف العربية حيث يقوم باستبدالها بحروف أخرى وتظهر الصفحة كأن Charset المستخدم لا يدعم اللغة العربية.. على الرغم من تعريفه في ترويسة الصفحة ليكونكود:include('csource.php');
لذلك هل أجد لدى أحدكم الحل لجعل هذا الكود يتعامل مع الحروف العربية بشكل صحيح؟؟كود:Charset=windows-1256
نص الكود: موقع مبرمج الكود هو http://cleverscripts.com
كود PHP:<?php
function _fwk_filter_encrypt($content)
{
$table = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_@";
$xor = 165;
// Prepare encoding table
$table = array_keys(count_chars($table, 1));
$i_min = min($table);
$i_max = max($table);
for ($c = count($table); $c > 0; $r = mt_rand(0, $c--))
array_splice($table, $r, $c - $r, array_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 + 1, 0);
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");
?>





























