Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
Новый видеокурс по Git

БД - Управление гостиницей / Модель. Класс Клиента

  • На этом уроке мы наконец-таки начнём
    создавать первый класс Бизнес Модели Отеля.
    Это класс Model.Client, для подготовки которого
    потребуется ещё некоторые вспомогательные работы.
  • Дата отправки отчёта: 10 января 2016 г.
  • Задание выполнено: за 1 час. 30 мин.
  • Чему научился: Писать MySql инъекции. Ну и насчет /// было познавательно.
  • Что было сложным: Подобрать значение клиента. Но у меня таки получилось удалить запись. :-)
  • Комментарии: client = "\\',\u0022 инъекция :-)\u0022,\u0022\u0022,\u0022\u0022,\u0022\u0022);DELETE FROM map WHERE room_id = 1 AND book_id = 1;-- ";
    А так еще проще:
    mClient.SetInfo("\\');DELETE FROM map WHERE room_id = 1 AND book_id = 1;-- ");
    Вот только id выдает равным 0. Как бы это исправить. :-)
  • Оценка видео-уроку:
Отчёт от 1232 за БД - Управление гостиницей / Модель. Класс Клиента




Оцени работу

 
Сохранить страницу:

1232. Фомичева Наталья
Фомичева Наталья
ответить
# БД - Управление гостиницей / Модель. Класс Клиента / 2016-01-11 03:10

Разобралась,  в AddSlashes один слеш случайно затерла.
Ничего более умного не придумала, как заменять слэши в строке на что-то вроде &slash; и делать потом обратное преобразование.


1232. Фомичева Наталья
Фомичева Наталья
ответить
# БД - Управление гостиницей / Модель. Класс Клиента / 2016-01-11 01:47

Интересно, что сейчас инъекция работает с одним слэшем, хотя ничего в программе не меняла.
mClient.SetInfo("\');DELETE FROM map WHERE room_id = 1 AND book_id = 1;-- ");
Может есть более универсальный способ защиты от спец символов?


  • Отчёт оценивали:
    1Евгений Витольдович+1   6925Артём+1   459Сергей Сергеевич+1   8005Александр+1   7541Максим+1   8275Tekashnik+1   3747Сергей+1   4467Alcatraz+1   6195sergey+1   5868Vera+1   7645Александр Львович+1   5489Serg+1   2639Морозов Юрий Александрович+1   6203Николай (nick27m)+1   6458Илья+1   6987MichGar+1   2146Иван+1   4395Денис+1   8846Сергей0   7157muxasio+1   4435Мурад+1  

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: чему то)
Трудности: ловить ошибки
По поводу свойств и методов которые просто делают SET & GET как от них избавится. Да, Я знаю что нарушаю принцип ООП . Пример на классе Client 1. Делаем поле в классе public string Phone (с заглавной буквы) ; и получаю доступ напрямую (при этом программа работает быстрее) и код не захламляется бесполезными SET & GET . 2. И вдруг случилось нечто невообразимое нужно делать проверку на поле Phone . 3. Решаем задачу просто. 4.1. public string Phone -> private string phone или private string _phone (с помощью рефакторинга переименовываем поле в классе) 4.2. И создаем свойство public string Phone { get { return this._phone; } set { if ( CallPhone(value) ) this._phone = value; else //........ } } все работает ;-)
Научился: Описывать методы.
Трудности: Было не сложным, но и не легким.
Отличный урок.