• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Каким образом можно защититься от SQL Injection?

Aronakich

Новичок
Искал в поиске - не совсем понял что именно и как нужно изменить. Например есть такая команда:
Pawn:
CMD:skin(playerid, params[0])
{
    if(sscanf(params, "d", params[0])) return SCM(playerid, COLOR_GREY, "Используйте: /skin [id скина]");
    SetPlayerSkin(playerid, params[0]);
    PlayerInfo[playerid][pSkin] = params[0];
    static const fmt_query[] = "UPDATE `accounts` SET `Skin` = '%d' WHERE `ID` = '%d'";
    new query[sizeof(fmt_query)+(-2+9)+(-2+8)];
    format(query, sizeof(query), fmt_query, params[0], PlayerInfo[playerid][pID]);
    mysql_query(dbHandle, query, false);
    return 1;
}
В ней нашли уязвимость (SQL Injection), через которую можно например выдать себе админку максимального уровня, так вот - можно пожалуйста более подробную информацию о том как исправить это дело
 
Сверху Снизу