Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9
  1. #1
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±

    Защита от инъекций

    Доброго времени суток, вопрос в том, как же всё же защитить себя от Sql инъекций?
    Если использовать Pawn.Regex, это увеличит шансы защиты?
    Я так понял, что только через регистрацию этот вопрос и возникает, а именно при вводе нового пароля

    Если к примеру использовать Regex вот так

    PHP код:
    stock IsPasswordCorrect(const szPassword[])
    {
        new 
    Regex:rPASS;
        if(!
    rPASSrPASS Regex_New("^[-A-Za-z0-9!@#$^&*()_+[\\];\\\\<>,.\\/?~]{6,16}$");
        return 
    Regex_Check(szPasswordrPASS);

    Проверка то на запрещенный символ: ";" есть, но, не срабатывает сам сток, при его вводе.
    Пример как ввожу 1234qwer; и должна была-бы сработать проверка, но, нет...
    Последний раз редактировалось Сергей; 16.01.2019 в 23:21.

  2. #2
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    mysql_format
    Респект:
    @DeimoS
    @ziggi
    @Daniel_Cortez

  3. #3
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    mysql_format
    Оно так в базу данных и записывает, 1234qwer;

    Это ничего?

  4. #4
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от Сергей Посмотреть сообщение
    Оно так в базу данных и записывает, 1234qwer;

    Это ничего?
    прочитай это
    используй %e вместо %s
    Респект:
    @DeimoS
    @ziggi
    @Daniel_Cortez

  5. #5
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    прочитай это
    используй %e вместо %s
    Так и использую, всё равно записывает 1234qwer;

  6. #6
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от Сергей Посмотреть сообщение
    Так и использую, всё равно записывает 1234qwer;
    и? это разве инъекция? если память не изменяет инъекция это когда с кавычками используешь конец строки, не?
    Респект:
    @DeimoS
    @ziggi
    @Daniel_Cortez

  7. #7
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    и? это разве инъекция? если память не изменяет инъекция это когда с кавычками используешь конец строки, не?
    Хорошо, тогда вопрос следующий, почему Regex не находит: ";" хотя он указан?

  8. #8
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    На самом деле, как уже писал в соседней теме, достаточно просто запрещать игрокам вводить ' и \
    И всё. Тогда никакие функции не потребуются и будет экономиться куча времени, так как не будет лишних проверок.

    Ну а если очень хочется использовать функции, то тогда лучше использовать format и "%q", ибо это будет гораздо шустрее функции плагина и, при этом, будет выполнять всё ту же функцию. Хотя всё же проще
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. #9
    Аватар для Сергей
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Сообщений
    161
    Репутация:
    3 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    На самом деле, как уже писал в соседней теме, достаточно просто запрещать игрокам вводить ' и \
    И всё. Тогда никакие функции не потребуются и будет экономиться куча времени, так как не будет лишних проверок.

    Ну а если очень хочется использовать функции, то тогда лучше использовать format и "%q", ибо это будет гораздо шустрее функции плагина и, при этом, будет выполнять всё ту же функцию. Хотя всё же проще
    Спасибо, тему можно закрывать.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •