Vorobyov1996
Новичок
Здравствуйте! Расскажите как Вы защищаете себя от злоумышленников, при запросе в базу данных, использую GET, POST, COOKIE
И почему именно так вы защищаетесь?
И почему именно так вы защищаетесь?
Принято!)) А как именно Вы экранируете? Просто много противоречивой информации((1. Экранирование всех данных подставляемых в sql запрос.
2. Так надо.
По разному, где использую нативные методы real_escape_string(mysqli) где подготовленные запросы, а где использую инструменты фреймворка.Принято!)) А как именно Вы экранируете? Просто много противоречивой информации((
filter_input() - норм защита?1. Никак не защищаюсь. Пишу код, и он работает правильно и не допускает инъекций.
2. Не признаю слово "защита" в этом ключе. Отсутствие ошибок в представлении данных, это не защита, это просто отсутствие ошибок, ни более, ни менее.
Спасибо! А filter_input() - норм защита?По разному, где использую нативные методы real_escape_string(mysqli) где подготовленные запросы, а где использую инструменты фреймворка.
Всё от ситуации зависит.
PS Vladson, даже если тебе и кажется, что он работает правильно, не стоит быть таким самоуверенным.
Нет, к примеру фильтр FILTER_SANITIZE_EMAIL тебе не поможет.Спасибо! А filter_input() - норм защита?
Хорошо, Спасибо!Нет, к примеру фильтр FILTER_SANITIZE_EMAIL тебе не поможет.
Поищи готовые обертки для работы с базой и увидишь, что защитить себя от дыр sql не сложно, главное помнить об этом.Хорошо, Спасибо!
Буквально в 2-ух словах расскажи подробнее)Поищи готовые обертки для работы с базой
http://www.doctrine-project.org/ - из сторонних разработок мне понравилась эта.Буквально в 2-ух словах расскажи подробнее)
А готовый обертки спасают от SQL иньекции?http://www.doctrine-project.org/ - из сторонних разработок мне понравилась эта.
По большей части смысл оберток это безболезненный переход на другую платформу.
К примеру для соединения с базой ты используешь драйвер MySQLi и пихаешь везде метод к примеру fetch_object()-чтобы получить строку из базы, теперь представь, что необходимо сменить базу к примеру на PostgreSQL, тебе надо везде переписать работу с драйвером, используя обертку тебе достаточно внести изменения в ней будет.
Если будешь использовать функции прямого запроса к базе тогда нет) если будешь биндить то зависит от самой оберткиА готовый обертки спасают от SQL иньекции?
Ок, буду учиться работать с обертками)Если будешь использовать функции прямого запроса к базе тогда нет) если будешь биндить то зависит от самой обертки
Спасибо!я бы посмотрел в сторону dbsimple и аналогов )
А можно конкретнее? Что имеется в виду под "экранированием"?1. Экранирование всех данных подставляемых в sql запрос.
А зачем прямая валидация?Подготовленные выражения в PDO плюс прямая валидация через регулярные выражения где это возможно.
Почему так? Потому что так можно![]()