@swcalc

Real escape string VS prepare?

Здравствуйте, подскажите, пожалуйста, что лучше использовать и так-ли уязвима real_escape_string?
Ситуация такова, что необходимо работать с username, password, email и token.
Что лучше подойдет для подготовки запроса к исполнению, привык к real_escape_string, но узнал, что имеет какие-то уязвимости и советуют prepare.
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
@IceJOKER
Web/Android developer
в данном случае нужны регулярки для username, password, email , чтоб лишних символов там не было и нет нужды фильтровать ничего, даже для token можно регуляркой проверить в зависимости от того, какими символами он ограничивается.

а насчет самого вопроса - юзайте prepare, где узнали про уязвимости real_escape_string? и что там было написано? можно и им пользоваться
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alexclear
@alexclear
A cat
При использовании prepared queries параметры запроса передаются отдельно от текста самого запроса, поэтому SQL injections становятся невозможны в принципе, by design.
Я не думаю, что real_escape_string уязвима, тем не менее, идея оградиться от возможности SQL injections прямо на уровне API работы с СУБД нравится мне гораздо больше.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы