Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Класс db_con 
V
    Опции темы
enoff
Дата 6.9.2010, 07:46 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Muerto, и как будет выглядеть экономия времени аж до "за 5 секунд" на примере этого класса?
Цитата(Muerto @  6.9.2010,  01:25 Найти цитируемый пост)
лепить

ключевое слово, надо понимать...

PM MAIL ICQ Skype GTalk   Вверх
SneG0K
Дата 6.9.2010, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Muerto, Иуууу, Энджи! А зайти на PEAR или стянуть класс работы с бд допустим из Zend Framework, не?
enoff,  smile 

В разделе "Книги" попросил книгу, уже две недели никто не отвечает.  smile 
PM WWW Skype   Вверх
Muerto
Дата 6.9.2010, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



enoff, Понимайте , я встречал таких которые говорят, это да ООП , это не ООП.
А что же есть ООП?

Как правило когда мы говорим об ООП мы хотим, и это только мое ИМХО и насколько я понимаю то что делаю:
1. Мы хотим построить то чем сможем пользоваться много раз, и оно сэкономит нам время
2. хотим построить то что можно будет расширять и изменять... (например если я захочу вдруг работать с mysql а не mysqli , мне код менять не нужно целиком на ВСЕХ моих страницах, а только в моем классе!!! или же если мне вдруг ОО стиль mysqli не по душе более(а именно его использует мой класс)...
Но здесь конечно кто то может сказать что и тупой набор функций сможет сделать эту работу... возможно и так!
3. Инкапсюляция - однозначно есть!

4. Наследования здесь как бы нету НО, есть один большой плюс, и это мой оригинальный autoloader, я классы вызываю вот так 
Код

$db=cload('db_con);

И он его уже и заинклюдит и singleton вернет (может кто помнит прикол с PAAMAYIM NEKUDOTAYIM...)

5. Наследия у меня нету в данном классе, хотя теоретически можно было бы singleton вывести из классов...
и полиморфизма здесь нету

Добавлено @ 09:52
SneG0K, Стянуть всегда все можно, а нужно ли?

Это сообщение отредактировал(а) Muerto - 6.9.2010, 10:09


--------------------
user posted image
PM MAIL   Вверх
SneG0K
Дата 6.9.2010, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Велосипед из Zend'a с мягким сидением и спинкой, у вашего же велосипеда нет сидения (торчит труба).
Вопрос: на каком велосипеде ездить приятней? Ну, если вы девушка или не той ориентации, то тогда вопрос отпадает.

В качестве учебного примера можно и написать такой класс, но не пользоваться им. Видите-ли, все уже придумали до нас.

Добавлено через 42 секунды
Цитата(Muerto @  6.9.2010,  08:48 Найти цитируемый пост)
процедурный стиль mysqli не по душе

 smile  smile Мега!

Добавлено через 3 минуты и 45 секунд
Код

$db=cload('db_con);

Это вернет только ошибку.

Добавлено через 3 минуты и 57 секунд
Ох, какой я придирчивый.
PM WWW Skype   Вверх
Muerto
Дата 6.9.2010, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



SneG0K, Имелось ввиду объекто-орентированый стиль работы с mysqli , это очепятка


А это вернет ошибку только у вас!
Код

$db=cload('db_con);

Потому что вы не разработали функцию cload  smile 


--------------------
user posted image
PM MAIL   Вверх
SneG0K
Дата 6.9.2010, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Цитата(Muerto @  6.9.2010,  09:08 Найти цитируемый пост)
Потому что вы не разработали функцию cload

Да нет. У вас это тоже не будет работать. Закрываться кавычки тоже надо
PM WWW Skype   Вверх
Muerto
Дата 6.9.2010, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



SneG0K, Наслаждайтесь http://learn-php.ru/m_shaot/ так же снизу можете увидеть насколько быстро мой мини фреймворк пашет

А патом ваш ZEND запустите, и дайте знать как быстро сгенерируется аналог того что я вам выдал, да нет, вы просто hello world сделайте

Это сообщение отредактировал(а) Muerto - 6.9.2010, 10:18


--------------------
user posted image
PM MAIL   Вверх
enoff
Дата 6.9.2010, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



mysqli как раз предоставляет объектно-ориентированный интерфейс.
Цитата(Muerto @  6.9.2010,  10:48 Найти цитируемый пост)
это мой оригинальный autoloader

в каждом вашем сообщении можно наблюдать полную уверенность в своей оригинальности и неповторимости smile 


Гради Буч.
Объектно-ориентированный анализ и проектирование.
http://www.helloworld.ru/texts/comp/other/oop/index.htm

Добавлено через 4 минуты и 49 секунд
Muerto, А насколько ваш фреймворк помог в разработке?
а зачем на зенде хеллоу ворд делать?
Вы сравните скорость разработки какой-нибудь большой системы на зенде и с вашим фреймворком.
PM MAIL ICQ Skype GTalk   Вверх
SneG0K
Дата 6.9.2010, 10:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Цитата(Muerto @  6.9.2010,  09:17 Найти цитируемый пост)
Наслаждайтесь

 smile Насладился! Подставил в поле логин ' or 1=1/* и насладился)))
enoff, Спасибо))

Добавлено через 1 минуту и 11 секунд
Цитата(Muerto @  6.9.2010,  09:17 Найти цитируемый пост)
насколько быстро мой мини фреймворк пашет

Он просто прелесть  smile 
PM WWW Skype   Вверх
Muerto
Дата 6.9.2010, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



SneG0K, И что вы этим получили по вашему  smile 

Код

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL auto_increment,
  `login` varchar(100) character set utf8 NOT NULL,
  `password` varchar(15) character set utf8 NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `email` (`login`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=24 ;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `login`, `password`) VALUES
(23, ''' or 1=1/*', '123');



Кто кого умней?  smile 

Вы бы хоть переводчик посмотрели, там у меня и логин и регистрация в одном месте, если вы не зарегины вас зарегит, а если зарегины, вас просто впустит =-)
Если логин существует а пароль левый, вас не впустит!

Вы не понимайте всю прелесть do_query("insert....",1); + функцию escape  smile 

Это сообщение отредактировал(а) Muerto - 6.9.2010, 10:32


--------------------
user posted image
PM MAIL   Вверх
enoff
Дата 6.9.2010, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



SneG0K,  smile 
тоже мысль была, только я поле ввода не победил smile

Добавлено через 1 минуту и 44 секунды
Muerto, этот запрос вывалится с ошибкой, копнуть дальше и получим полной контроль над вашей 
Цитата(SneG0K @  6.9.2010,  11:24 Найти цитируемый пост)
Он просто прелесть


PM MAIL ICQ Skype GTalk   Вверх
Muerto
Дата 6.9.2010, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



enoff, Да можете играться сколько хотите, когда получаем $_POST
идет фильтровка самая базовая через htmlspecialchars которая в общем не является защитой от иньекций, затем функция escape берет каждую ячейкую которую я засунул между волшебными символами, и фильтрует её через mysqli_real_escape

Что бы облегчить вам взлом, добавление пользователя выглядит вот так:
Код

$db->do_query("insert into users (login,password) VALUES ('".SC."".$login."".SC."','".SC."".$pass."".SC."')",1);


Перед этим идет поиск пользователя
Код

$data=$db->do_query("select * from users where login='".SC."".$login."".SC."'",1);


Или же вы думайте что разработчики php полные придурки, и нифига не понимают в OOP , и придумали никому не нужную функцию mysqli_real_escape?

НИФИГА ВЫ НЕ ВЗЛОМАЛИ КАК ВЫ ПОНЯТЬ НЕ МОЖЕТЕ!!!  smile 

Это сообщение отредактировал(а) Muerto - 6.9.2010, 10:38


--------------------
user posted image
PM MAIL   Вверх
SneG0K
Дата 6.9.2010, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Цитата(Muerto @  6.9.2010,  09:29 Найти цитируемый пост)
SneG0K, И что вы этим получили по вашему

Вау!
PM WWW Skype   Вверх
Muerto
Дата 6.9.2010, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



читаем ниже

Это сообщение отредактировал(а) Muerto - 6.9.2010, 10:48


--------------------
user posted image
PM MAIL   Вверх
SneG0K
Дата 6.9.2010, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Цитата(Muerto @  6.9.2010,  09:34 Найти цитируемый пост)
 когда получаем $_POST
идет фильтровка самая базовая через htmlspecialchars, 

Что вы за ахинею придумали?
Класс БД должен защищаться от SQL иньекций, функции работы с таблицей должны отталкиваться от класса БД и защищать только от XSS

ЧТо это еще за ахинея, когда все делается в одном месте? Каждый компонент должен заниматься своим делом и защищать себя сам.

Добавлено через 1 минуту и 1 секунду
Цитата(Muerto @  6.9.2010,  09:39 Найти цитируемый пост)
SneG0K, Ну блин сколько же вам писать, что вас никуда таким запросом не впустило?

Это я и без тебя понял.
Цитата(Muerto @  6.9.2010,  09:39 Найти цитируемый пост)
Я вам сам урок могу дать по SQL-injection , вы здесь никого ничем не удевили

Начинай, а я послушаю.

Добавлено через 1 минуту и 33 секунды
Muerto, ты небось выходец и хакзоны или хакер.ру ?
PM WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0799 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.