strip_tags()
onlardan sadece biri ile yardımcı olan bir PHP uygulama geliştirme akılda tutulması gereken birkaç şey vardır. Aslında strip_tags()
, etkili iken, hatta gerekirse daha fazla yapmak olabilir: htmlspecialchars()
, hatta duruma göre, preferrable olmalı ile muhtemelen tehlikeli karakterleri dönüştürme.
Generally it all comes down to two simple rules: filter all input, escape all output. Şimdi tam olarak giriş ve çıkış teşkil anlamak gerekir.
Çıktı, kolay uygulama tarayıcınıza gönderir her şey çıktı, bu yüzden çıkış verileri her zaman kendiniz yazmak değil htmlspecialchars()
ya da başka herhangi bir kaçış işlevi kullanın.
Giriş PHP kodu kodlanmış olmayan herhangi bir veridir: şeyler kurabiye, GET yoluyla bir sorgu dizesinden, POST aracılığıyla bir formdan gelen, must sizin ihtiyaçlarınıza bağlı olarak en uygun şekilde filtre edilebilir tüm bu. Bir veritabanından gelen Hatta veri tehlikeli kabul edilmelidir; veritabanı çok app etkileyebilecek bir şekilde başka tatlıya eğer özellikle paylaşılan bir sunucuda asla bilemezsiniz.
Beyaz listeler böylece expcted giriş biçimine dayalı ve sadece seçilen değerler, doğrulama izin: verileri filtrelemek için farklı yolları vardır. Ben tavsiye asla bir şey, kullanıcıların almak verileri tespit deneyin: onları size beklediğiniz olsun yoksa, bunun yerine temizlemek için çalışmakla talebini reddetmek, sizin kurallarınıza göre oynamak var.
Özel dikkat, bir veritabanı ile uğraşmak durumunda, SQL enjeksiyonu ödenmelidir: saldırganın zararlı bir yönergeyi yürütmeye çalışırken onları sahte böylece saldırı bu tür, düzgün veritabanına göndermek sorgu dizeleri inşa değil dayanır. Her zaman böyle the mysqli extension veya kullanılarak hazırlanmış ifadeler kullanmak, mysql_real_escape_string()
ya da daha iyi gibi kaçan bir işlevini kullanmanız gerekir PDO.
Orada bu konu hakkında söylemek için daha fazla bulunuyor, ancak bu noktaları başlamak gerekir.
HTH
EDIT: Demek iyi ne karar "filtreleme girişi" ile, açıklamak ve kötü ne, herhangi bir şekilde girdi verileri değiştirmek değil. Dediğim gibi tarayıcıya çıkış olmadığı sürece ben kullanıcı verileri değiştirmek asla.