0ktay öncelikle mysql kütüphanesinden vazgeçmek gereklidir. Basit diye bu sistemi kullanmak basit açıklara yol açar. Bunun yerine mysqli_ ve PDO kütüphane sınıflarını kullanmak ve şekillendirmek daha güvenlidir.
mysqli ve pdo da güvenliği arttırmanın birçok yolu var bunlardan bir kaçı post ve get ile edinilen verileri temizlemek yukardaki arkadaşların verdiği örnekler gibi. bir diğer yol ise kullanıcılar var ise ve sessiona atanmış kullanıcı ise gibi fonksiyonlarla direkleri dikmektir.
Bunun için if, elseif, else - swich case gibi işlemlerle güçlendirilebilir.
Dosya transferi gibi işlemlerde ise yine kullanıcı kontrolü yapılmalı doğru formatta dosya olup olmadığı, dosyanın boyutu vb filtreleme sistemleriyle işlem yapılmalıdır.
bunlar sadece bir kaç örnek.
Mümkün mertebe get ile veri çekme işleminden kaçınmak gereklidir kanımca bunun yerine post ile yapılabilir. javascript- ajax gibi kütüphanelerden yararlanılıp tek bir sayfa içerisinde yenilemeden işlemleri kontrol ve dogru hedefe yönlendirilerek bariz açıklardan kurtulunulabilir. birde alenen açık dosyalar var mesela header.php tek başına anlamsızdır ama include ile bunları indeximize ekleriz direkt bu dosyaya erişim engellemek için " define - defined" sabitlerinden yararlanılıp tek başına görüntülenmesini kısıtlayabiliriz. aynı şekilde veritabanı dosyamız içinde geçerli yapabiliriz. kodlama işi söledikleri gibi gerçekten şiirdir. Kafiyeyi uydurmak bizi keyiflendirir.
Tabi bu yukarda saydıklarım devede kulak ama en çok akılda soru işareti bırakan açıklardır.