2010-12-08 2 views
0

Это может быть глупый вопрос, но я довольно смущен. Я получаю файлы JSON от пользователей и json_decode в PHP и помещаюсь в MySql. Является ли фильтрация/экранирование декодированных данных против SQL-инъекций необходимыми или ненужными при вставке в db? или, альтернативно, что-то еще нужно сделать?Необходимая входная фильтрация JSON

ответ

4

Это абсолютно необходимо. Никогда не доверяйте данным, поступающим от ваших пользователей.

+0

json можно сломать. У вас есть идея, как я могу это сделать? – opteronn 2010-12-08 20:31:28

+0

Декодирование json с помощью PHP. Затем дезинфицируйте данные. Затем вставьте в базу данных по мере необходимости. Я рекомендую использовать библиотеку или фреймворк (который избегает SQL) для обработки вставки базы данных для снижения риска инъекций. – troynt 2010-12-08 22:41:16

0

Использовать mysql_real_escape_string() при данных, входящих в систему, тогда бит db не пострадает от инъекции. Однако это не устраняет проблему json. Для этого вам нужно будет выполнить отдельную проверку.