OKAN @ 21-10-2009 00:54: > 1. mysql_real_escape_string() fonksiyonunun kullanımı hakkında bilgi > rica ediyorum, bu fonksiyonu, magic_quotas ON iken kullanmaya gerek > yoktur yazanbazı forum mesajları gordum, dogru mudur? Yani magic_quotas > tam olarak ne işe yarar?
kesinlikle magic_quotes kullanmayın, ve magic_quotes'a güvenmeyin. aşması çok kolay bir sistem olduğu ve bir çok XSS saldırısında güvenilirliği yıpratılmış olduğu için yeni sürüm php'lerde zaten kapalı olarak geliyor. php.ini'yi inceleyin, adında magic_ yazan her şeyi kapalı tutmanızı tavsiye ederim. özellikle $_GET, $_POST, $_COOKIE, ve $_SESSION değişkenlerini asla başıboş bırakmayın ve otomatik olarak değil, sizin tarafınızdan bir değişkene atanmalarını sağlayın. yoksa scriptinizde ciddi güvenlik açıkları doğurabilir. eğer php.ini'ye müdahale şansınız yoksa bir .htaccess dosyası ile php_admin_value ve php_flag komutlarıyla bu ayarları kapatın, yine de kapatamıyorsanız servis sağlayıcınıza bildirin. mysql_real_escape_string'e de güvenmeyin, ikisinin yaptığı hemen hemen aynı şey. addslashes, htmlentities ve htmlspecialchars'ı birlikte kullanın. > 2. htmlentities(), htmlspecialchars() ile HTML karakterleri > dönüştürüyoruz, siz bu dönüşümü veriyi veritanabına yazarken mi eğer WYSIWYG bir editör kullanmıyorsanız veritabanına yazarken dönüştürmek daha mantıklı, çünkü veritabanına eklemeden önce dönüştürmezseniz veritabanına veriyi sokacak olan scriptinizde arıza verdirebilir, bu da XSS açığı demektir. kullanıcı ile interaktif bir iletişiminiz varsa mutlaka kontrollü olmakta fayda var. -- Omer Barlas [email protected] _______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama
