Как правило, вам нужно очищать ввод пользователя всякий раз, когда вы отправляете его куда-либо.
Когда вы помещаете его в свою базу данных, вам нужно предотвратить внедрение SQL, заключая в кавычки специальные символы SQL (подготовленные операторы сделают это за вас).Когда вы отправляете его в браузер, вам нужно экранировать специальные символы HTML (для этого в PHP есть функции), чтобы предотвратить внедрение скрипта.
Могут быть и другие места, где вам нужно экранировать специальные символы.Например, если вы отправляете комментарии скрипту Bash на сервере, чтобы выполнить какую-то обработку.В этом случае вам нужно заключать в кавычки или экранировать специальные символы Bash.
Важно не заключать в кавычки / экранировать на неправильной стадии: например, не экранировать сущности HTML, когда вы помещаете их вбазы данных, если вы не уверены в том, что вы делаете.Очень легко снова случайно избежать экранирования, когда вы извлекаете его из базы данных и готовитесь отправить его в браузер, или вообще не экранируете, если отправляете сообщение об ошибке в случае сбоя соединения с базой данных (это может вызвать уязвимость XSS).).Совершите побег в последний момент, и вы, скорее всего, избежите этих ловушек.