Чи достатньо check_plain () для повторного відображення тексту, введеного користувачами у веб-переглядачі, чи все ж слід фільтрувати за допомогою filter_xss () ?
Чи достатньо check_plain () для повторного відображення тексту, введеного користувачами у веб-переглядачі, чи все ж слід фільтрувати за допомогою filter_xss () ?
Відповіді:
Я думаю, питання стосується використання check_plain(filter_xss($string)), або filter_xss(check_plain($string)).
check_plain()і filter_xss()мають дві різні, і навпаки, цілі:
check_plain() кодує спеціальні символи в звичайному текстовому рядку, який потім відображається як HTML.filter_xss()фільтрує рядок HTML для запобігання вразливості між веб-сайтом (XSS). Зокрема, його метою є:
Якщо ви використовуєте check_plain(), рядок, переданий функції, повинен використовуватись як звичайний текст; в такому випадку filter_xss()не потрібно. Якщо ви використовуєте filter_xss(), тоді рядок, переданий функції, повинен бути HTML, і check_plain()не є необхідним.
Якщо питання стосується використання check_plain()та filter_xss()в різних частинах однієї рядка, тоді, як вказує грегглі, у коментарі ви можете (наприклад) check_plain()використовувати вміст атрибутів тегів та filter_xss()весь тег HTML.