nepster-web
@nepster-web

Защищает ли приведение к типу данных int от sql инъекций?

К примеру есть ссылки вида: site.ru/news/23/

Будет ли достаточно сделать вот так для избежания инъекций:
$news_id = (int)$_GET['param']
  • Вопрос задан
  • 2893 просмотра
Пригласить эксперта
Ответы на вопрос 4
@link_irk
Лучше работу с БД вынести в отдельный класс. И при вызове метода, который производит запрос к БД, делать фильтрацию входных данных.
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
Если именно ответить по теме - да, в Вашем случае это спасет.
Но, лучше это положить на плечи функций/методов для работы с базой данных.
Ответ написан
Комментировать
Ну не int, а intval, как минимум.
А вообще, для начала просто экранируйте всё "ненадёжное".
Ответ написан
zBit
@zBit
Full stack web developer
Используйте PDO и prepared statements - будет вам счастье. Сейчас многие фреймворки работают с БД именно через PDO. Если все значения задавать через плейсхолдеры (в PDO), то _теоретически_ это исключает возможность SQL-инъекции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы