İlginç bir PHP arka kapısı

Birkaç yıl önce Genius‘un sayesinde haberdar olduğum aşağıdaki kod hala daha (v7.2.x) çalışmakta. İlginç yanı short_tags etkin olmasa dahi çalışıyor. Daha ilginci ve hakkkında pek bilgi bulamadığım kısmı ise dinamik olarak yaratılan ve veri (data) olarak ele alınması gereken bir yapının PHP tarafından bir metod (function) olarak değerlendirilmesi ve çalıştırılması.

PHP kodu:

URL isteği:

Sonuç:

short_open_tags kullanımı betik dillerde yaygın bir durum. Aşağıdaki görselden kullanımı görebilirsiniz.

Lakin dinamik olarak sunulan bir verinin PHP tarafından icra ediliyor olması gerçekten ilginç bir durum. Dökümantasyonda bu durum ile ilgili bir bilgi bulamadım. Bir bug’dan ziyade feature olduğunu düşünmek istiyorum. Bu konuda bilgisi olanlar aşağıya yorum yazarsa mutlu olurum.

Yazar: Özgür Koca

Yazar - Tankado.com

“İlginç bir PHP arka kapısı” için bir yorum

  1. Merhaba. Bu durum aslında PHP’deki “variable functions” kavramından dolayı meydana gelmekte. Bir değişkenin sonuna ayraç işareti geldiği zaman önce PHP bu değişkenin içeriğini bir fonksiyon olarak değerlendirir ve sonra bunu çalıştırmaya çalışır. Fakat sadece fonksiyonlar çağrılır tıpkı exec() gibi. Sanıldığının aksine eval() ve exit() fonksiyon değil “language construct” olduğu için bu örnekte bunları çalıştıramıyoruz -neyse ki-. $_GET bir süperglobal değişken olduğu için, PHP kullanıcıdan gelen bir input’u fonksiyon olarak çalıştırabiliyor. Bunun önlemini almak için kullandığımız ayraçlara dikkat etmemiz gerekiyor :)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.