2010-11-21 14 views
5

I do un sacco di $this->escape() nella vista zend. Basta questo per prevenire l'XSS?

C'è HTMLPurifier al di fuori di Zend Framework. Mi chiedo come lodi zend sia paragonabile a HTMLPurifier.

risposta

4

escape è un alias di htmlspecialchars. Ti consente di generare testo in chiaro, mentre HTMLPurifier ti consente di generare HTML sicuro.

Non è possibile avere XSS con testo normale.

È necessario utilizzare HTMLPurifier anziché strip_tags se si desidera generare un HTML sicuro proveniente da un input dell'utente (ad esempio, editor di testo RTF).

4

HTML Il depuratore ha uno scopo diverso. HTMLPurifier non sfugge all'HTML ... beh, non esattamente. Ci vuole una configurazione che gli dai quella che definisce ciò che è permesso nell'HTML e quello che non lo è, e si pulisce basandosi su quello. Il risultato è in realtà ancora HTML, con alcune cose rimosse/disinfettate.

escape() su tale altra mano è svolta caratteri HTML simile in entità HTML in modo che essi rendono gli stessi caratteri nel browser invece di essere interpretato come HTML (ad esempio & ->&amp;, < ->&lt;, > ->&gt; e così via).

Diversi obiettivi.

Ti salva dai problemi XSS? Sì, ma assicurati di aver configurato correttamente la codifica dei caratteri.

Problemi correlati