Php verilen stringi encode veya decode etmek için base64_$ fonksiyonunu kullanırız.
$ -> encode veya decode

basit bir örnek yapalım


//
$str="bilisimturk.org";
echo base64_encode($str);
// sonuç olarak ekrana basılan değer -> YmlsaXNpbXR1cmsub3Jn
//olacaktır.

?>



Decode işlemi ise bunun tam tersidir.Yani

//
$str="YmlsaXNpbXR1cmsub3Jn";
echo base64_decode($str);
// sonuç olarak ekrana basılan değer ->bilisimturk.org
//olacaktır.

?>



Base64 böyle.Şimdi ise eval() fonksiyonuna gelelim.
Genelde eval fonksiyonu sanki bir encode/decode fonksiyonu gibi bilinse
de aslında eval fonksiyonu aldığı stringi evaluate edip yani değerlendirip onları php koduna çevirir.
Bu bir örnekle çok daha rahat anlaşılacaktır


//
$str1="echo \"bilisimturk\";";

echo $str1;
// çıktı -> echo "bilisimturk"; olacak
//Şimdi de eval fonksiyonunu kullanalım

eval($str1);
//çıktı ->bilisimturk olacak

?>



Bu iki fonksiyonu şunun için bir arada verdim.
Mesela elimizde php kodu şeklinde bir string olsun.
Önce bunu base64_encode kullanarak ekrana basalım.
Sonra o değeri kopyalayıp eval fonksiyonunun içinde base64_decode yi kullanırsak kodları encode etmiş oluruz.
Bunu da bir örnekle açıklamak gerekirse

echo "
eval-base64
Bilisimturk.org
";



bu php kodunu base64_encode() fonksiyonuyla encode ettiğinizde çıkan sonuç



ZWNobyAiPGh0bWw+PGhlYWQ+PHRpdGxlPmV2YWwtYmFzZTY0PC90aXRsZT48L2hlYWQ+PGJvZHk+PGRpdiBzdHlsZT1cImNvbG9yOmxpbWU7YmFja2dyb3VuZC1jb2xvcjpibGFjaztwYWRkaW5nOjE1cHhcIj5CaWxpc2ltdHVyay5vcmc8L2Rpdj48L2JvZHk+PC9odG1sPiI7


olacaktır.İşte bunu eval ile değerlendirirsek yani


//
eval(base64_decode("ZWNobyAiPGh0bWw+PGhlYWQ+PHRpdGxlPmV2YWwtYmFzZTY0PC90aXRsZT48L2hlYWQ+PGJvZHk+PGRpdiBzdHlsZT1cImNvbG9yOmxpbWU7YmFja2dyb3VuZC1jb2xvcjpibGFjaztwYWRkaW5nOjE1cHhcIj5CaWxpc2ltdHVyay5vcmc8L2Rpdj48L2JvZHk+PC9odG1sPiI7"));


// çıktı rengi lime background ı siyah ve Bilisimturk.org yazan bir çıktı elde edeceğiz.
//

?>



Sonraki derslerde görüşmek üzere..

Kaynak:http://bilisimturk.org/forum/Php-encode-etme-ve-eval-fonksiyonu-konusu