2010-06-16 2 views
0

Как предотвратить XSS, но разрешить использование любых символов? Как я могу опубликовать HTML-код на форуме, например <html><body><h1>Test</h1></html>, но он не будет отображаться в браузере как html? Как я могу сделать это, чтобы он не преобразовывал символы в PHP?Предотвратить XSS, но разрешить все символы?

+0

возможно дубликат [Как предотвратить XSS с HTML/PHP?] (HTTP: // stackoverflow.com/questions/1996122/how-to-prevent-xss-with-html-php) –

ответ

0

Вы можете сделать строку безопасной для вывода с htmlentities или htmlspecialchars. htmlentities более тщательный, поскольку он кодирует все сущности, а htrmlspecialchars преобразует только скобки, цитаты и символы амперсанда.

Например, он изменяет < на &lt;, что отображается браузером как символ <, а не как интерпретируется как начало HTML-тега.

2

Передаёт строку через htmlspecialchars() функции:

// Outputs HTML as literal characters 
echo htmlspecialchars('<html><body><h1>Test</h1></html>'); 
Смежные вопросы