$ -> 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