Aslında bu konu çok geniş, yani başlı başına bir uzmanlık alanı. Şuanda dünyanın dev yazılım geliştiricileri örneğin microsoft ve borland'ın yazılım geliştirmeden çok yazılım geliştirmenin planlanması yönünde projeleri var. Bu da karşımıza yeni bir kavramı çıkartıyor. Yazılım mimarları yani yazılımın başından sonuna kadar ne evrelerde geçeceğini planlayan kişiler. Bir proje geliştirmek takım işidir. Bu takımı 3 gruba ayırırsak, Yazılım mimarları,Yazılım kodlayıcıları,Yazılım Testerları. Bu üç grubun yazılım geliştirirken sürekli irtibat halinde olması gerekir. Demek istediğim Hiçbir zaman kendi başınıza tam olarak güvenliği sağlayamazsınız. Biliyorum bu sorunuzun cevabı değil. Şimdi sorunuzun cevabına geçelim. Bunları maddelersek
1. Formdan gönderilen stringleri sorguya sokmadan string ayıklama fonksiyonlarından geçirilmesi.
2. Id ler ile çalışıyorsak çok gerekli olmadıkça adres çubugundan id göndermemek.
3. Adres çubuğından veri göndermemiz gerekirse verinin doğru şahıslara ait olup olmadığını kontrol etmek.(Örneğin bir forumumuz var ve msj editlememiz gerekiyor mesajın idsini adres çobuğundan index.php?topic=3 şeklinde gönderiyoruz. Burada 3 nolu mesajın, değiştirmek isteyen kişiye ait olup olmadığını kontrol etmeliyiz.)
4. Şifreleriniz geri dönüşümsüz bir şifreleme algoritması ile şifrelemek.(Hiç boşuna çözülür diye atlamayın hanginiz 10000 işlemcili bir bilgisayırı var.)
5. Kullanıcı girişi var ise text alanlarına max karakter sınırı koymak koymak.
6. Veri tabanı ve tablo isimlerini hatta alan isimlerini tahmin edilemeyecek şekilde tasarlamak.
7. Sql cümlelerinde değişken isimlerini ('') içerisine yazmak.
8. Sorguya gönderilen değişkenlere, (') işareti içermeleri halinde addslashes
() fonksiyonu ile slaş eklemek.
devam edecek...