Вот это говнокодище. В базу пишите все что вводит юзер, валидируя содержание предварительно для требуемого формата и используя фильры. htmlspecialchars используется при ВЫВОДЕ НА СТРАНИЦУ, а не при вводе в базу. Т.е. в шаблоне. PDO защищает от мускульных инъекций. Не более.
Александр +: bullshit всегда делается когда в торопях нужно чтоб завтра работало как нибудь. Нормальные люди потом переписывают по ходу дела и уже не так стыдно смотреть становится =)
TAnonim: Ну к примеру, вам сейчас наверное это мало о чем скажет, но вполне можете столкнутся в будущем. Всю логику нужн будет выносить из active record объекта, тем более убирать бихейворы. Т.е. эти модели невозможно будет закешировать (изза рекурсии бихеворов, да и лишняя логика там ни к чему совсем). Начнете понимать зачем нужны сервисы и задумываться о слоёной архитектуре. И вот тут начнутся костыли =)
Павел: ну для начала подготовленные выражения начать юзать. Для паролей password_hash и password_verify. запилить csrf и использовать html purifier Для удаления всякого xss говна из текстов. для валидации всяких емейлов юзать filter_var. Зачем заострять внимание на говне 2005 года? все уже давно придумали до тебя.