2010-11-21 17 views
5

için Zend görünümünde yeterli Zend görünümünde çok $this->escape() yapıyorum. XSS'yi önlemek için bu yeterli mi?

Zend Framework'ün dışında HTMLPurifier var. Zend'in $this->escape()'un nasıl HTMLPurifier ile karşılaştırıldığını merak ediyorum.

cevap

4

kaçış htmlspecialchars bir takma addır. HTMLPurifier, güvenli HTML çıkarmanızı sağlarken, düz metin çıkışı sağlar.

Düz metinle XSS'niz olamaz.

Kullanıcı girdisinden (örneğin zengin metin düzenleyicisinden) gelen güvenli HTML'yi almak istiyorsanız, HTML_değeri yerine HTMLPurifier kullanmalısınız.

4

HTMLPurifier farklı amaçlara hizmet vermektedir. HTMLPurifier HTML'den kaçmaz ... tam olarak değil. HTML'de neyin izin verildiğini ve neyin yapılmadığını tanımlayan bir yapılandırma alır ve buna göre temizler. Sonuç, aslında bazı şeyler kaldırılmış/sanitize edilmiş halde hala HTML'dir. bunun yerine HTML olarak yorumlanır olma tarayıcıda aynı karakterleri işler böylece diğer taraftan

kaçış() (HTML varlıkları HTML benzeri karakterler çeviriyor örneğin & ->&amp;, < ->&lt;, > ->&gt; ve benzeri).

Farklı hedefler.

XSS sorunlarından sizi koruyor mu? Evet, ancak karakter kodlamanızı doğru şekilde yapılandırdığınızdan emin olun.