На этом уроке мы наконец-таки начнём создавать первый класс Бизнес Модели Отеля. Это класс 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. Как бы это исправить. :-)
Интересно, что сейчас инъекция работает с одним слэшем, хотя ничего в программе не меняла. mClient.SetInfo("\');DELETE FROM map WHERE room_id = 1 AND book_id = 1;-- "); Может есть более универсальный способ защиты от спец символов?
Разобралась, в AddSlashes один слеш случайно затерла. Ничего более умного не придумала, как заменять слэши в строке на что-то вроде &slash; и делать потом обратное преобразование.
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Добавлять запись в таблицу клиента. Вообще, то плохая идея скрещивать бульдога с носорогом. О чем я? О том чтобы передавать ссылку на работу с живой базой в класс клиента. Данные об базе вообще не должны знать. Тем более с моей точки зрения Client - это должна быть одна строчка клиентов, Clients - это многие строчки клиентов. А то получилось нечто среднее между моделью и хранимыми в них данными.