Bu makalemde “html injection” güvenlik açığı hakkında bilgilendirme yapıp, bu açıktan korunmak için ipuçları vereceğim.Bu güvenlik açığı; web yazılımlarında programcıların güvenlik konusundaki bilgisizliğinden veya dikkatsizliğinden kaynaklanmaktadır. Genellikle ziyaretçilerin veritabanına bilgi girişinde bulunması ve bu bilginin daha sonra site üzerinde çağırılmasıyla oluşur. Ziyaretçi yorumlarının olduğu kısımlarda, ziyaretçilerin profil bilgilerini girdiği kısımlarda giriş yapılan veriyi kontrol ettirmeden direkt olarak veritabanına alınmasından dolayı meydana gelir.Örnekle açıklamak gerekirse diyelim ki bir web sitesinde saldırgan bir makaleye yorum yapıyor. Yorum yerine içerisinde yönlendirme yapmaya yarayan bir meta tagı kullanıyor. Eğer bu girilen veri direkt olarak veritabanına aktarılıyorsa, ziyaretçilerin o yorumun çağrıldığı sayfaya girmesiyle site, saldırganın yönlendirdiği site veya sayfaya yönleniyor. Günümüzde yönlenerek açılan hack sayfaları bu açıktan yararlanılarak yapılmaktadır.Gelelim nasıl korunacağımıza. En basit korunma yöntemi aslında veriyi siteye çağırırken değilde veritabanına girmeden önce bazı filtrelerden geçirip kaydetmektir. Php dilinde bunun en basit yolu veriyi kaydetmeden önce strip_tags() fonksiyonundan geçirmektir. strip_tags() fonksiyonu veriyi html taglarından arındırır.if(isset($_POST[‘gonder’])){$deneme = strip_tags($_POST[‘textfield’]);//veriyi veritabanına almadan önce strip_tags() fonksiyonuna alıp öyle değişkene atadık.Böylece veri html taglarından arındırıldı.$kaydet = mysql_query(“INSERT INTO deneme VALUES(NULL,’$deneme’)”);if($kaydet){echo ‘Kaydedildi’;}else{echo ‘Kayıtta hata oluştu’;}} Bunun gibi fonksiyonlar kullanıp güvenliği arttırmanın yanında sizde kendinize göre güvenlik fonksiyonları üretebilirsiniz. Veya html destekli editör kullanmak istiyorsunuz fakat bazı kodların girilmesini engellemek istiyorsunuz. Bunun içinde kendi yazdığınız fonksiyonları kullanabilirsiniz. Str_replace() fonksiyonu ile gelen bazı değerleri sizin uyarladığınız default değerlere dönüştürebilirsiniz. Güvenlik çok büyük bir kavram ve ne yazık ki sadece bu gösterdiğim kodla güvenliği tamamen sağlamış olmuyorsunuz sadece html injection ataklarına karşı bir önlem almış oluyorsunuz. Zaman zaman elimden geldiğince güvenlik konusunda makale yayınlamayı düşünüyorum.