Как разрешить некоторые теги, но заблокировать другие для XSS - PullRequest
2 голосов
/ 08 мая 2011

Я хочу разрешить некоторые теги, такие как <p> <ul> <li> <b> <strong> У меня есть определенный список.Но я также хочу защитить от атак XSS, поэтому мне нужно использовать escape.Как я могу сделать это, чтобы разрешить эти конкретные теги, но избежать всего остального?

Ответы [ 2 ]

2 голосов
/ 08 мая 2011

Чаще всего рекомендуется HTMLPurifier, поскольку он содержит кучу обходных путей для предотвращения всех видов злоупотреблений XSS. Он отфильтровывает теги и атрибуты, которые могут пропустить другие решения. Это немного по настройке, и, возможно, излишне в некоторых настройках. Но это, безусловно, самый безопасный подход.

Вы можете настроить список разрешений с ним, но вы также можете применить метод strip_tags() с помощью @yc. Но не один сам по себе! Только в сочетании с HTMLPurifier!

0 голосов
/ 08 мая 2011

В Drupal есть функция с именем filter_xss , которую вы можете использовать в качестве (фантастического) примера, если хотите что-то сложное. В противном случае просто используйте функцию strip_tags .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...