"Enter"a basıp içeriğe geçin

Kullanıcıdan Gelen Bilgi ve Güvenlik

form güvenlik dosyası
form güvenlik dosyası

Kullanıcıdan Gelen Bilgi ve Güvenlik
PHP’ de yazılmış bir uygulamanın en zayıf noktası, dilin kendisinde olan bir sorun değil, yazılan uygulamanın bazı varsayımlara dayanarak güvenliği göz önünde bulundurmamasıdır. Kod yazarken her zaman yazdıklarınızı dikkatlice inceleyip, kullanıcıdan gelen bilgilerin doğru ve tam şekilde denetlenip onaylandığına emin olmanız gerekir. Kullanıcıdan gelen bilgiyi alıp işleme koyduğunuz her durumda kendinize şu soruları sorabilirsiniz:

  • Bu betik (kod ya da script) benim istemediğim dosyalara erişim, değişiklik veya silme imkanı veriyor mu?
  • Beklenmeyen bir bilgi geldiğinde de istenilen işlem yapılacak mı?
  • Bu betik başka bir amaç için kullanılabilir mi?
  • Bu betik, sistemde var olan başka betiklerle birlikte kötü amaçlı kullanılabilir mi?
  • Yapılan işlemler daha sonra inceleme amacıyla kayda alınacak mı?

Yaptığınız projenin uygunluğuna göre kod yazmadan önce ve yazarken bu soruları sık sık kendinize sormanız, proje bittiğinde değerlendirme yapıp değişiklikler yapmanızdan çok daha faydalı olacaktır. Bu sayede proje tasarımını güvenlik düşünülerek yapmış olacak ve daha sonra güvenlik dolayısıyla ciddi değişiklikler yapma zorunluluğunuz ortadan kalkacaktır. Güvenliğe vereceğiniz öncelikli önem, daha sonra yapacağınız ve güvenliği riske atacak değişikliklerden çok daha faydalıdır. Belirtilen bir değişkenin değerini, kaynağı veya geçerliliği bozacağını düşündüğünüz register_globals, magic_quotes ve benzeri ayarları kapatmanız iyi olabilir. Hata bildirim kipi ‘error_reporting (E_ALL)’ kullanımı, aynı zamanda uyarıları da göstereceği için kodunuzda sorun olup olmadığı hakkında daha iyi bilgi verebilir. PHP’ de tip denetim yapısı katı değildir ve bu güvenlik sorunlarını tetiklemektedir. Uygulamanızda değişken tiplerinin neler olduğunu bilmek ve mantıksal olarak kullanıcıdan gelen değişkenlerin türünü bilmek birçok durumda hataları ortadan kaldırabilir. PHP’ de kullanılabilecek çok sayıda tip tanımlama fonksiyonu vardır. Bu fonksiyonlardan bazıları is_int, is_array, is_bool, is_null, is_float, is_numeric vb. dir.

Örnek uygulama resim:
Formlardan gelen bilgiler her zaman beklenen doğru bilgiler olmayabilir. Bazen istenmeyen bilgilerde formlarla birlikte gönderilebilir. Bu bilgiler sayfalarımızın istenildiği gibi görünmesini engelleyebilir. Hatta çok daha ciddi problemler çıkmasına sebep olabilir.

‘htmlspecialchars’ fonksiyonu verilen metin içerisindeki HTML etiketlerinin işaretlere dönüştürülmesini sağlar.

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başvuru Kaynakları

Pin It on Pinterest