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.
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.
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).
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 &
->&
, <
-><
, >
->>
itd.).
Różne cele.
Czy pozwala to zaoszczędzić na problemach XSS? Tak, ale upewnij się, że poprawnie skonfigurowałeś kodowanie znaków.