Genel Prensip olarak, kullanıcı-teslim (veya herhangi bir harici) doğrudan doğrulama veya filtreleme olmadan sayfanızın içine içerik eklemek için bir hatadır. Doğrulama hataları neden yanı sıra aynı zamanda "kırık sayfaları" ve büyük güvenlik açıkları (cross-site scripting saldırıları) neden olabilir.
Eğer anywhere güvenilen% 100 değildir veri almak zaman, bir şekilde güvenli hale getirmek gerekir. Siz bazılarını veya hepsini yaparak bunu yapabilirsiniz:
- Escaping metinsel veriler özel karakterler onları temsil HTML kuruluşlar tarafından değiştirilir böylece.
- Stripping veya filtering güvensiz HTML etiketleri.
- Validating bu HTML herhangi bir güvensiz veya yasadışı yapılar içermez.
Kullanıcı girişi metin olarak yorumlanabilir içindir, o zaman çoğunlukla seçenek 1 bakıyoruz; Eğer Kullanıcıların HTML izin veriyorsun o zaman seçenekler 2 ve 3 bakıyoruz. Dördüncü seçenek kullanıcıların kullanarak bu biçimlendirme ve HTML arasındaki çeviri, bu tür Markdown veya bbcode olarak biraz daha kısıtlayıcı olmayan HTML biçimlendirme kullanmak sahip olmaktır (umarım) güvenlik açıkları, sayfa açan yapıları, ya da diğer korkunç şeyler eklenmesine izin vermez kütüphane.