Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MySQL только из моей программы 
:(
    Опции темы
RinOSpro
Дата 23.4.2009, 16:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всем привет! 

Есть БД на MySQL, есть моя программа. Можно ли сделать как ни будь, так что бы сервер соединялся только с моей программой, при этом, к нему нельзя было подключится из других (phpMyAdmin, и т.п.)

Сделайте пожалуйста зеркало на ветку по MySQL.
  Вверх
Kbl4AH
Дата 23.4.2009, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 6
Всего: 15



Цитата(RinOSpro @  23.4.2009,  17:52 Найти цитируемый пост)
при этом, к нему нельзя было подключится из других (phpMyAdmin, и т.п.)

а ты другим логин/пароль не говори smile 
PM MAIL ICQ   Вверх
RinOSpro
Дата 23.4.2009, 17:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Kbl4AH смешно smile но не в тему.

База много пользовательская. Есть моменты когда одни пользователи могут в просматривать только свои записи. 
В программе естественно стоит условие.
Но вот теперь представим что кто то особо умный кто имея пароль подключился к БД через phpMyAdmin и посматрел все что ему не положено было бы смотреть. Поэтому я и хочу ограничиться подключением только из своей программы.

Есть идеи?
  Вверх
Kbl4AH
Дата 23.4.2009, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 6
Всего: 15



Цитата(RinOSpro @  23.4.2009,  18:12 Найти цитируемый пост)
Kbl4AH смешно

я серьезно
Цитата(RinOSpro @  23.4.2009,  18:12 Найти цитируемый пост)
Но вот теперь представим что кто то особо умный кто имея пароль подключился к БД через phpMyAdmin и посматрел все что ему не положено было бы смотреть. Поэтому я и хочу ограничиться подключением только из своей программы.

Я пока в таких тонкостях не разбираюсь...
Но в общем... есть же привилегии... и как это пользователь с админскими привилегиями не сможет просмотреть твои данные? сможет...
значит у особо умного должны быть привилегии для своих данных, у тебя - для своих...
координировать должен админ, который имеет доступ ко всем данным...
значит админ должен ограничить права особо умного...

ты, наверное, ничего не сможешь поделать...
PM MAIL ICQ   Вверх
RinOSpro
Дата 23.4.2009, 17:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Kbl4AH есть 10 пользователей. У каждого есть логин и пароль. Есть определенный набор дейсвий которые они могут выполнять. Права расставлены.

Есть скажем таблица Messages. Пользователи могут и должны работать с этой таблицей, но только со своими записями. Смотреть и уж тем более изменять чужие они не должны.

Через программу так оно и есть. 
Но проблема в том что можно зайти не через мою программу (( а через phpMyAdmin к примеру.
  Вверх
Kbl4AH
Дата 23.4.2009, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 6
Всего: 15



Цитата(RinOSpro @  23.4.2009,  18:56 Найти цитируемый пост)
Но проблема в том что можно зайти не через мою программу (( а через phpMyAdmin к примеру.

так я про это же...
твой пользователь значит должен иметь права на запись в Messages, а другой пользователь (любой кроме тебя) не должен заходить под твоим логином/паролем, а должен заходить под своими и не должен иметь прав чтения Messages...
БД ведь не знает через какое приложение к ней подцепились... она только знает кто подцепился и какие он имеет права...

ЗЫ. и я совсем не представляю как ты собираешься скрыть свои данные скажем от админа БД...
PM MAIL ICQ   Вверх
RinOSpro
Дата 24.4.2009, 09:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Kbl4AH раз не понял проблему и не можешь сказать что то по существу! Просьба не засорять топик бесполезными сообщениями.

Тем более что:
Цитата(Kbl4AH @  23.4.2009,  17:41 Найти цитируемый пост)
Я пока в таких тонкостях не разбираюсь...



Это сообщение отредактировал(а) RinOSpro - 24.4.2009, 11:56
  Вверх
Bose
Дата 24.4.2009, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Цитата(RinOSpro @  23.4.2009,  16:56 Найти цитируемый пост)
Есть скажем таблица Messages. Пользователи могут и должны работать с этой таблицей, но только со своими записями. Смотреть и уж тем более изменять чужие они не должны.

Тогда лучше не давать пользователям прав на прямое чтение этой таблицы(!). А создать View или Stored Procedure, которая будет возвращать, только те записи, которые разрешено видеть текущему пользователю. В программе выводить данные через этот View/Stored Procedure.
PM MAIL WWW Skype   Вверх
Poseidon
Дата 24.4.2009, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

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



Цитата(RinOSpro @  23.4.2009,  17:56 Найти цитируемый пост)
есть 10 пользователей. У каждого есть логин и пароль.
Сделай эти логины и пароли данными доступа к программе. А логин и пароль доступа к БД зашей в саму программу. На основании введенного логина и делай фильтрацию. Вот и получишь что пароль к БД будет "знать" только твоя программа, а пользователи будут иметь доступ к этой программе по своим, персональным логинам, никак не связанным с доступом к БД.



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
RinOSpro
Дата 24.4.2009, 13:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Bose как вариант да, но это не решает проблему, ведь я образно привел одну таблицу хотя на деле их поболее.

Вот еще если если на таблицу нет прав, а на хранимку поставить, то разве будет работать хранимка?

Poseidon пароль из программы вытащить не так уж и сложно.
  Вверх
Poseidon
Дата 24.4.2009, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

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



Цитата(RinOSpro @  24.4.2009,  13:03 Найти цитируемый пост)
пароль из программы вытащить не так уж и сложно
Ну если так рассуждать, то и сервер не так уж сложно заставить думать, что к нему подключается именно твоя программа, когда на самом деле это не так. Против взлома ты вообще не защитишься.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
insoft
Дата 24.4.2009, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 14.2.2007
Где: Тюменская область , г.Тобольск

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



RinOSpro
а метод шифрования данных тебе не подойдёт?
потому что пароль как ты не крути никак не спрячешь, администратор в любом случае должен его знать..
PM MAIL WWW   Вверх
RinOSpro
Дата 24.4.2009, 14:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











insoft как реализовать шифрование средствами MySQL? 

ps Администратор я.

Добавлено через 3 минуты и 58 секунд
Цитата(Poseidon @  24.4.2009,  14:12 Найти цитируемый пост)
то и сервер не так уж сложно заставить думать, что к нему подключается именно твоя программа


Для начала надо научить его так думать)) Я вот пока не знаю как) И пока не услышал) Единственное что более похоже на реальное использование, так это хранимки или вьюхи.

Добавлено через 9 минут и 26 секунд
С таблицей Messages ни чего нельзя делать ни читать ни писать. Читать можно через View а как писать? Через хранимки?
  Вверх
RinOSpro
Дата 24.4.2009, 14:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Хотя через вьюхи тоже не получится (((

Вот смотрите:

Код

GRANT USAGE ON * . * TO 'user'@'%' IDENTIFIED BY '111' 
WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;

REVOKE ALL PRIVILEGES ON * . * FROM 'user'@'%';
REVOKE GRANT OPTION ON * . * FROM 'user'@'%';

GRANT USAGE ON `MyDB` . * TO 'user'@'%';

Мы создали пользователя и отключили у него все права (даже на чтение)!!! теперь он не может даже видеть базу по SHOW DATABASE!

Но если мы включим ему разрешение на SELECT то потом для отдельных таблиц перекрыть не сможем. тк нельзя перекрыть права более высокого уровня.
Цитата

Привилегии для таблицы или столбца формируются при помощи логического оператора OR из привилегий каждого из четырех уровней. Например, если в таблице mysql.user указано, что у пользователя есть глобальная привилегия SELECT, эта привилегия не отменяется на уровне базы данных, таблицы или столбца. 

Привилегии для столбца могут быть вычислены следующим образом: 
глобальные привилегии
OR (привилегии базы данных AND привилегии удаленного компьютера)
OR привилегии таблицы
OR привилегии столбца


  Вверх
Poseidon
Дата 24.4.2009, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

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



RinOSpro, думаю тут только средствами php получится. На подобии как данный форум реализован. Т.е., как вариант, делаешь php-скрипт, который лезет в БД и возвращает данные. А программой же ты эти данные получаешь и обрабатываешь. Прокраммой, кстати, может стать и браузер. Но можно и свою научить. Иначе я не вижу варианта как защититься от взлома и получения пароля и при этом ограничить доступ.

Да, при использовании php можно ведь поставить в настройках сервера мускула доступ только с локалхоста. Тогда точно поотваливаются всякие майадмины и прочее.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

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


 




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


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

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