referer bilgisi ile alıncak önlem aşılabilinir, en sağlıklısı functions arkadaşın dediği gibi olacaktır
defined kontrolü dosya include edilmişse çalışır malesef bu dediğiniz yanlış bilgi, bir üstteki de aynı şekilde.
Burada işe yarayan çözümler sunulabilirken hepsininde aşılır olduğunu unutmamak gerek.
İlki post idi arkadaş bahsetmiş, aşılması herhangi bir dosyadan gerçek anahtarlar (formdaki input verilerinden bahsediyorum) ile post göndermek.
İkincisi referer idi, aşılması istemci dosyaya referer bilgisi eklenerek yapılması (curl kullanarak referer header ile post -yine gerçek anahtarlar ile gönderdiğimizi varsayıyoruz- göndermek)
Alıntı
arkadaslar elim de bir sayfa mesela c.php ben şimdi diyelim ki sadece x.php den gelirse eger bu c.php calışsın yoksa asla calışmasın yani mesela direkt c.php yazunca tarayıcıya calışmayacak sadece x.php den donerse calışacak. bunu nasıl yapabilirim sizce ???
Bu mesaja göre gerçek, katı, basit çözüm ikinci madde..
Bu ikisini bir arada kullanmak, aşılması ikisinin de aşılma yöntemlerinin kartezyen çarpımı
Bir session oturumu kullanmak, hidden anahtar ile unique değer göndermek de aşılabilir durumda. İlki cookie kabul ederek aşılacağı gibi, ikincisi de form dosyasından bu veriyi alarak dosyaya post gönderilmesi. İkincisi için daha ayrıntılı açıklama gerekebilirdi.
En güzeli; session dizisinde sakladığınız güvenlik resmi ile formun post edildiği dosyada bunun kontrolünün yapılması. İkinci dosyada sadece post var-yok kontrolü yaptıktan sonra güvenlik resmini kontrol etmeniz yanlışsa kullanıcının çıkışını vermeniz uygundur.
Bu yöntemin aşılması çok zordur.