Проверки на заполненность полей

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Проверки на заполненность полей

Сообщение MrDead »

В общем как сделать проверки на поля, которые контачат с базой данных? Есть к примеру в поле login, email, pass. Что надо написать, чтобы вписав в одно из этих полей к примеру ; DROP TABLE users; и нажать энтер,не стиралась вся база данных) И вообще на подобные штуки)
ktibo
Сообщения: 38
Зарегистрирован: 15 авг 2011, 10:58

Re: Проверки на заполненность полей

Сообщение ktibo »

Т. е. вы используете значения текстовых полей как запросы к БД? Или я не понимаю чего-то.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Проверки на заполненность полей

Сообщение Serge »

mysql_real_escape_string или mysqli_real_escape_string, смотря что используется.
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Проверки на заполненность полей

Сообщение MrDead »

Ну вот у меня флеш регистрация. Во флешке поля, которые заполняются и после нажатия на кнопки данные записываются в БД. Но вот если вместо обычного логина, написать ; DROP TABLE users;, то база данных стирается) Как этого избежать?
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: Проверки на заполненность полей

Сообщение sasha^ »

автор, выше все правильно сказано=)
mysql_real_escape_string или mysqli_real_escape_string, смотря что используется.
это функции пхп для обезвреживания запроса=)
З.Ы. мне кажется ясно какой крутой будет игра :lol:
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Проверки на заполненность полей

Сообщение MrDead »

А кто сказал что мне это надо для игры?Оо
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Проверки на заполненность полей

Сообщение Alazaur »

Человек хочет научиться делать правильно, вот и спрашивает совета это же похвально. А в него сразу помидорами. :)
MrDead, для фильтрации входящих строковых переменных используйте регулярные выражения. Это позволит вам не только избежать инъекций, но и проверить данные на валидность. Чтобы узнать подробнее загуглите одноименным запросом, по ним информации в сети океан и маленькая речка.
Числовые же удобно отсеивать явным приведением типа. Например:

Код: Выделить всё

$id = (int)$_POST['id']; //Делаем явное приведение к int если в $_POST['id'] было целое число, то оно и попадет в $id. В противном случае $id будет равна 0
Ну и как вам уже посоветовали выше экранируйте спец символы функциями типа mysql_real_escape_string. Кроме того PDO и MySQLi поддерживают подготавливаемые запросы, они тоже защищают от инъекций первого порядка.
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Проверки на заполненность полей

Сообщение MrDead »

Спасибо всем за советы)
Ответить