Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Приватное подключение к БД
Еще не реализовал, но функции setsys() и getsys() будут запрещать доступ приложений к массиву, соответственно, сторонние скрипты не смогут получить параметры подключения. Но они смогут обращаться напрямую к активной БД.
Возможно ли запретить им такое действие? Или, как иначе можно скрыть от них подключение к БД?
DeepVarvar
Отправлено: 16 Декабря, 2013 - 12:01:00
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Имеется ввиду что ваш скрипт будет использоваться как библиотека?
Использование БД никак не запретить. Всегда можно самому поключится, зная параметры доступа.
Запретить доступ к текущему подлючению, вероятно можно, реализовав синглтон
----- Чем больше узнаю, тем больше я не знаю.
neolinux
Отправлено: 16 Декабря, 2013 - 13:57:09
Новичок
Покинул форум
Сообщений всего: 26
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
DelphinPRO пишет:
Имеется ввиду что ваш скрипт будет использоваться как библиотека?
Да.
DelphinPRO пишет:
Всегда можно самому поключится, зная параметры доступа
Сторонние скрипты не смогут получить параметров подключения
DeepVarvar пишет:
Инкапсуляцией
и
DelphinPRO пишет:
Запретить доступ к текущему подлючению, вероятно можно, реализовав синглтон
Здесь можно чуть подробнее. Хотя бы - куда копать? (Добавление) DeepVarvar
У меня уже возникала неприятная ситуация из-за отсутствия отображения значка модератора в IE8 (на заметку)
Toxa
Отправлено: 16 Декабря, 2013 - 14:18:41
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
инкапсуляция и синглтон - это термины ООП, на эту тему есть сотни статей в интернете.
В двух словах на форуме вам никто не объяснит.
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
neolinux пишет:
GLOBAL $SYS_NW;
Уже только по этому такое не получиться сделать. А учитивая предидущие топикы ТС, он не хочет использовать ООП. Так что думаю никак. Еще в добавок скажу, что в mysql_* последний коннект активный и если не передать явно коннект в функции mysql_*, то будет использован активный коннект. в данном случае:
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
инкапсуляция + mysqli или pdo
neolinux
Отправлено: 17 Декабря, 2013 - 14:40:12
Новичок
Покинул форум
Сообщений всего: 26
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
caballero пишет:
никакое ООп не помешает скрипту вызвать mysql_query и обратится к БД
Я тоже так считаю
была мысль: в самой программе удалить код подключения к БД. Перед передачей ей управления выполнить mysqlc_db_connect() (см. в начале), по возврату - mysqlc_db_close(). Это бы свело к минимуму изменения в самой программе. Но если одна БД на сайт, нужно контролировать в какую таблицу лезет скрипт, а менять все mysqlc_query() на mysqlc_query_db - это уже мутатень. (Добавление)
Может парсер PHP какой существует? Чтобы скрипты ставить не копированием, а через инсталятор. Заотно и include() заменить.
caballero
Отправлено: 17 Декабря, 2013 - 15:05:22
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
мутотень - твоя идея о чем тебе давно пытались втолковать.
Но как говорится ничто так не примиряет с реальностью как сама реальность
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.