Это совсем не то, для чего htmlentities
. Используйте htmlentites
для кодирования выходных данных перед их отправкой в браузер. Это не имеет никакого отношения к дезинфекции. Единственное, о чем вам следует беспокоиться, когда обработка ввода правильно экранирует данные, интерполированные в запросы SQL, для предотвращения внедрения SQL. Подробнее см. Объекты данных PHP .
strip_tags
является спорным полезным, но вы не должны использовать оба strip_tags
и htmlentities
. Вся цель htmlentites
состоит в том, что он предотвращает интерпретацию тегов. Единственный правильный способ думать об этом: сохранить содержимое, введенное пользователем, и сделать его безопасным. Не удаляйте их теги, просто кодируйте их, чтобы они выглядели так, как они были напечатаны. В противном случае вы можете удалить такие вещи, как теги <sarcasm>
и <rant>
. Целью пользователя было не вводить HTML.
«Команды Linux» не имеют ничего общего с HTML. Невозможно выполнить произвольные команды Linux с помощью внедрения HTML / скрипта.
Я имею в виду что-то вроде "; ls -la"
Если вы на самом деле берете вводимые пользователем данные и выполняете их через system
или что-то в этом духе, у вас уже есть проблемы. Это ужасная идея, и вы не должны это делать.