Başlıktan çoğu kişinin birşey anlamaması çok doğal, bu başlığı dün ben görmüş olsaydım bende bilmezdim zinflate fonksiyonununda ne olduğunu.
Bu fonksiyon, başta wordpress olmak üzere çeşitli içerik yönetim sistemlerinin çeşitli temalarında, temanın özeliklerini belirten ve genellikle sayfanın en altında bulunan –footer– alandaki metinleri sıkıştırmak ve şifrelemek amaçlı kullanılır.Yeni web sayfam için “honestexpressions” adlı temayı kurduğumda benzer sorunla karşılaştım, temayı kendime göre düzenlediğimden birde benim metnimde geçsin istedim ve çözümü buldum.Önemli not: Bu tür sorunlarda kullanacağınız bu yöntemden yazar ve bildirgec.org mensupları sorumlu değildir. Düzenleme ve dağıtmanın yasak olduğu GNU haricindeki lisanslı uygulamalara uygulamanızda yaal olarak uygun değildir. Dökümanın devamını anlayabilmek için normal seviyede php bilgisine ihtiyaç vardır.
Evet temamızdaki ilgili dosyamız “footer.php“. İçeriği ise aynen şöyle:

eval(gzinflate(base64_decode(‘bZCxbsIwEIZnkHiHk4eOeA+Okbq0WxckZju+xFYc27UPrEg8PAmgqgPTnb7/v2+4oxTGXaHQ7LFlnUeVG9CR7IHJj6BLOgi+FORu+zfXvjMt62MkzGxBG5EkGCxuCGhAzw0IBTZj3zJLlBrOa637SY34e3HduO/ixORP8C4gnFEXRwifF+cNZsGVBBXMe0VFbWMhF4YBcSxP0WKA7yeF9fxrjeAG6qqcV9oj9BkRFDVwiumdlmKqiSxO+FLCOWaTMpYCpwdevYKn/2/gOpr5sViavBTHOw==’)));

Şifrelenmiş metnin hangisi olduğunu söylememe gerek yoktur sanırım. Gördüğümüz gibi metin gzinflate ve base64_decode fonksiyonlarıyla çevrilmiş.
Peki eval fonksiyonu ne işe yarıyor? eval fonksiyonu içerdiği metnin bir php betiğiymişçesine yorumlanmasını sağlar. Bu yüzden bu fonksiyonla ilgili bir işlem yapmamıza gerek yoktur. Metnin devamında durumu daha iyi kavrayacaksınızdır.
Peki gzinflate ve base64_decode fonksiyonlaının ters fonksiyonları hangi fonksiyonlar?
bunlar sırasıyla gzdeflate ve base64_encode fonksiyonlarıdır ve asıl işimiz bu fonksiyonlarladır. Şimdi ihtiyacımız olan bir php server. Yani yazacağımız php betiğini yorumlayan bir bilgisayar.
Şimdi ilk önce şifreli metni aşağıdaki betikte ilgii yere yazalım ki script aslında sunucuya hangi betiği yorumlatıyor öğrenelim:

$bas1=gzin flate (base64_decode(‘bZCxbsIwEIZnkHiHk4eOeA+Okbq0WxckZju+xFYc27UPrEg8PAmgqgPTnb7/v2+4oxTGXaHQ7LFlnUeVG9CR7IHJj6BLOgi+FORu+zfXvjMt62MkzGxBG5EkGCxuCGhAzw0IBTZj3zJLlBrOa637SY34e3HduO/ixORP8C4gnFEXRwifF+cNZsGVBBXMe0VFbWMhF4YBcSxP0WKA7yeF9fxrjeAG6qqcV9oj9BkRFDVwiumdlmKqiSxO+FLCOWaTMpYCpwdevYKn/2/gOpr5sViavBTHOw==’));echo”$bas1″;

Evet bu php betiğini yorumlatarak karşımıza çıkan sayfanın kaynak kodlarını incelediğimizde yorumlatılan kodları görmüş olacağız. Şimdi sıra bu metni kendimize göre düzenlemekte. Ben aynen şöyle düzenledim ve ikinci yazdığım php betiğinde gzdeflate ve base64_decode fonksiyonlarıyla aynen tema sahibinin yaptığı gibi kendi kodlarımı sıkıştırdım ve şifreledim ve gerekli şifrelenmiş kodu ekrana yazdırdım:

$bas1=gzdeflate(“echo’//bu satırlar sayfanın altında gözükmesini istediğim kodların satırı, bildirgeç yorumladığından yayınlanmadı. siz kendinize göre bir önceki işlemde elde ettiğiniz html kodlarını değiştirerek bu satırlarla değiştiriniz.‘;”);$bas2=base64_encode($bas1);echo”$bas2″;

Böylece aynen şu metni elde ettim:

bY4xboQwEEXr+BSjKbId7hczbY4R2XjAaMFj2bOLuH3YSBFNqv+Kp6fPY5KbcXF5QdNj5QHHlX29QxBNPdJnDq30zp4Cmb9520sccBJRrkjmwxVyHlLlacCkWu7W7vveqZS9aOKNWzfKhqC+zqwDfofV5wdSksxNfw1nPQHHRTlCOODr6WtcfIZJKvzXbn57SO6kzkgXvyvOluurDRIPMick3VYyt/4H

Şimdi tek yapmam gereken bu metni footer.php dosyasındaki şifreli metin yerine yazmak.
Evet artık temamın en alt bölümünde kendi istediğim metin yazıyor.Önemsiz Not:php dosyalarının içeriklerindeki başlangıç ve bitiş karakterlerinin yazılmasına gerek görülmemiştir.
Herkese kolay gelsin. Aslında kolay bir işlem fakat yazıya dökmek zor oluyor. Anlaşılmayan yer varsa, mutlaka sorun. İyi çalışmalar..