Добрый день дорогие форумчане.
В ходе написания своего мода, возник вопрос, каким образом защитить mysql (r41) подключение от инъекции.
Спасибо за ответ.
Уважаемый гость, если у Вас возникли проблемы с регистрацией, просьба обратиться в тех.поддержку или на почту admin@pawno-crmp.ru
Для полного доступа ко всем функциям форума, Вам необходимо зарегистрироваться и авторизоваться.
Для полного доступа ко всем функциям форума, Вам необходимо зарегистрироваться и авторизоваться.
Вопрос по защите mysql ( Инъекции )
Автор
Vadlmok
, 07 мая 2017 12:28
Лучший Ответ Elrmrnt-Kritik , 07 Май 2017 - 12:41
Vadlmok, mysql_format используйте заместо format для форматирования строк с запросами в MySQL. Использование:
mysql_format(ид подключения к базе данных, переменная для записи, размер, строка, аргументы);
Например,
static const fmt_string[] = "UPDATE `accounts` SET `level` = '1' WHERE `id` = '%d' LIMIT 1"; new string[sizeof(fmt_string)+(-2+5)];//5 - максимальное длина id игрока в базе данных mysql_format(dbHandle, string, sizeof(string), fmt_string, id);//id - переменная, куда записан ID mysql_tquery(dbHandle, string, "", "");
Более простой пример:
new string[50]; mysql_format(dbHandle, string, sizeof(string), "UPDATE `accounts` SET `level` = '1' WHERE `id` = '%d' LIMIT 1", id);//id - переменная, хранящая в себе ID игрока mysql_tquery(dbHandle, string, "", "");Перейти к сообщению »
#1
offline
Отправлено 07 Май 2017 - 12:28
offline
#3
offline
Отправлено 07 Май 2017 - 12:45
offline
Понял, спасибо большое.
#4
offline
Отправлено 07 Май 2017 - 12:48
offline
Используй mysql_real_escape_string или mysql_format
Количество пользователей, читающих эту тему: 1
0 пользователей, 0 гостей, 0 анонимных
-
Alexa (1)


Тема закрыта
Сообщений: 40
Регистрация:
Skype: v.l.a.d.65