Cevaplar
-
define bir sabit değişken tanımlamak için kullanılır ve bu sabit değişken bir kez tanımlanır, tanımlandıktan sonra bir daha kod içerisinde değiştirilemez. bu yüzden hem güvenlik hem de bir kez tanımlanması gereken değerler için kullanılabilir.
örnek ve ayrımı anlamak adına:
define("isim", "mehmet"); define("isim", "ali"); echo isim;
çıktısı mehmet olacaktır.
ancak$isim = "mehmet"; $isim = "ali"; echo $isim;
sonucu ise ali olacaktır.-
zyber
tamam onda bir sorun yok onu anladık
aşağıdaki gibi her sayfanın başında kullanmanın mantığı-işlevi nedir?
if (!defined("XXXX")) { die("Access Denied"); }
dikkatini çekerim orada defined var define değil ve if else ile true-false bir değer arıyor hatta ünlem işareti koyarakta olumsuza çevrilmiş sonra hata mesajı...12 yıl önce yazılmış -
zyber
http://www.sanalkurs.net/php-dosyasina-direk-erisimi-engellemek-124.html
burada konuyla ilgili bir açıklama var.
Sanırım bu kodun olduğu sayfaya direk olarak adres çubuğuna yazıp ulaşamıyorsun. Sunucu/site üzerinde var olan bir link üzerinden gelerek ulaşılmasını sağlıyor gibi...12 yıl önce yazılmış -
Mehmet
biliyorsun ki register_globals güvenlik açısından risk taşıyabilir.
şöyle bir örnek vereyim.
if (!isset($xxx)) die('access denied');
yaptığın zaman ve register_globals değeri sunucu ya da siten için açılmış durumdaysa ya da database içerisinden geldiğinde yazımında bir değişken gibi kullanımı söz konusu ise aşılabilir. bir önceki soruda tek tırnak ya da çift tırnak olayındaki güvenlik bu demek esasen.
eğer sen burada normal değişken değilde sabit değişken kullanmış olursan hiç bir güvenlik riski oluşturmaz. çünkü define'nin değişken adını request metoduyla almıyorsun ve sonradan de değiştirilemiyor.12 yıl önce yazılmış
-
-
orada yapılan, XXXX değeri tanımlanmadıysa sayfayı gösterme muhabbeti. muhtemelen bu XXXX değeri sistemin genel güvenliği için tanımlanmak zorunda olan bir sabit.
mesela bir header sayfan var, bu sayfada XXXX sabitini tanımladın. bir de bu header'ı çektiğin birkaç altsayfan var. bu kodu alt sayfaların başına eklersen, bu alt sayfalar header çağırılmadan tek başlarına çalıştırılamazlar.
bu epey kabaca bir örnek tabi ama genel mantık bu.