Убедил
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
Никак, просто привычка проверять.
Просто надо чётко понимать,
что разговариваешь ты не сам с собой. А даешь советы другому человеку.
Который их должен как-то потом применять.
Окей, допустим, про "Подготовленные выражения в PDO" я методом проб и ошибок выяснил, что код
PHP:
$pdo->prepare("INSERT INTO t VALUES ($var)")->execute();
Ни от чего не защищает, хотя формально выражение и подготваливается.
И научился заменять переменные на плейсхолдеры. С этим ясно.
Но что делать вот с этим предложением про валидацию?
Допустим, у меня не номер телефона. Что мне делать, если я не знаю, как валидировать?
И вот какие мои действия в этом случае? Вариантов данных заведомо бесконечное количество, придумать валидацию для всех нереально.
И если эта валидация имеет отношение к безопасности, как ты говоришь, то получается что я пишу заведомо небезопасный код.
поэтому никогда не надо давать неконкретных советов, примерно как клиент выше - "надо искейпить". Что искейпить, как искейпить - история умалчивает.
Подготовленные выражения тем и хороши, что позволяют в КОНКРЕТНОЙ форме сформулировать правила защиты.