2010-11-21 9 views
5

Zrobiłem dużo $this->escape() w widoku Zend. Czy to wystarczy, aby zapobiec XSS?

Istnieje obiekt HTMLPurifier poza Zend Framework. Zastanawiam się, jak porównanie Zend z $this->escape() jest porównywalne z HTMLPurifier.

Odpowiedz

4

escape to alias htmlspecialchars. Pozwala na wyprowadzanie zwykłego tekstu, podczas gdy HTMLPurifier pozwala na wyprowadzanie bezpiecznego HTML.

Nie możesz mieć XSS z tekstem.

Musisz użyć HTMLPurifier zamiast strip_tags, jeśli chcesz wyprowadzać bezpieczny HTML pochodzący z danych wejściowych użytkownika (na przykład edytor tekstu sformatowanego).

4

HTMLPurifier służy do różnych celów. HTMLPurifier nie usuwa HTML-a ... cóż, niezupełnie. Wymagana jest konfiguracja, która określa, co jest dozwolone w kodzie HTML, a co nie, i czyści w oparciu o to. Rezultatem jest nadal HTML, z pewnymi rzeczami usuniętymi/odkażonymi.

escape() tej drugiej strony obraca znaków HTML-podobnego do podmiotów HTML tak, że oni czynią te same znaki w przeglądarce zamiast być interpretowane jako HTML (np & ->&amp;, < ->&lt;, > ->&gt; itd.).

Różne cele.

Czy pozwala to zaoszczędzić na problemach XSS? Tak, ale upewnij się, że poprawnie skonfigurowałeś kodowanie znaków.

Powiązane problemy