Хорошо, он гарантирует, что вы разрешаете только AZ (верхний или нижний), цифры и символ «-» в строке $safe_input
.
Теоретически, ваш SQLвсе еще может быть заделан кем-то, добавив «-» к входу, чтобы последняя часть оператора была обработана как комментарий SQL.
Что-то столь же простое, как то, что вы опубликовали, не является решениемк внедрению вредоносного кода - и, скорее всего, это вызовет проблемы в будущем, когда вы захотите позволить пользователю отправлять символы, отличные от тех, которые вы явно разрешили.
Вам следует взглянуть на сторонние библиотеки PHP, которыеспециально разбираться с подобными вещами - существует множество способов предотвращения SQL и XSS.Или даже посмотрите на уровень сервера и подумайте о добавлении одного из модулей Apache, доступных для этой задачи (если, конечно, вы используете Apache ...).Пройдя по этому пути, вы будете придерживаться более целостного подхода к защите - и вы будете использовать опыт в этой области, а не пытаться заново изобрести это колесо для вашего проекта.