|
|
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
Я пишу робота (функционал вопрос и ответ, не более), типа http://www.sql.ru/forum/1259678-1/robot-ponimaushhiy-russkiy-yazyk (чо тренд) -- по сути просто хочу написать сайт на java, чтобы посмотреть, чем она отличается от php. Исходный код на java хочу выкладывать открыто, чтобы все, кому не лень, его ругали и поправляли. У меня будет соединение с БД postgresql, то есть параметры: ip, port, имя бд, имя юзера, пароль. Вопрос. --- Как писать параметры соединения (ip, port, имя бд, имя юзера, пароль) с БД в коде так, чтобы ни один параметр не попал в публичный доступ? --- ps Если это важно пишу в netbeans. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 15:27 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
1) Используйте JEE JNDI DataSource - выше приложение это war модуль, а соединение с базой, он получает из контейнера 2) Передевайте соединение с БД через параметре командной строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 15:31 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
... прописываете параметры в описателе контекста и вычитываете их в методе init(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 16:05 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
azsx У меня будет соединение с БД postgresql, то есть параметры: ip, port, имя бд, имя юзера, пароль. Как писать параметры соединения (ip, port, имя бд, имя юзера, пароль) с БД в коде так, чтобы ни один параметр не попал в публичный доступ? Вообще непонятны ваши заморочки... Не хотите давать доступ к БД? Так используя соединение, которое возвращает ваша JAR можно послать серверу команду DROP database. Ну или SELECT или DELETE чего угодно. Если учетка правильно ограничена в правах, то можете смело давать логин и пароль. Ваша идея сработает только если вы будете использовать захардкоженные скрипты, возвращаюшие только результат или ХП с параметрами. azsx Если это важно пишу в netbeans. Да хоть гусинным пером на папирусе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 17:01 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
авторВообще непонятны ваши заморочки... Не хотите давать доступ к БД? Так используя соединение, которое возвращает ваша JAR можно послать серверу команду DROP database. То есть на самом деле сама идея не верная? Даже если я разберусь методом JEE JNDI DataSource (пропишу параметры от БД в xml файле внутри tomcat), то всё равно любой запустивший мой скрипт, если у скрипта появляется доступ к БД сможет работать с БД напрямую? зы вообще именно в моём случае клиент с БД не работает, он будет иметь доступ к клиентскому приложению + исходные коды серверной части (по которой я буду спрашивать советы, так как ничо не умею). То есть по идее, запускайте вы серверную часть где хотите, со своей БД. Но я в этом ничего не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 19:13 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
azsx, Ну дак сконфигурируйте свой ПостГре только на локальный доступ 127.0.0.1. Пускай себе коннектятся:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 19:25 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
Этот вариант также использую (localhost + ещё один внешний ip). Но хочу разобраться как просто не показывать логины с паролями для открытого проекта. Наверное, мне ответили в первом посте, просто пока с наскока освоить не получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 19:31 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
azsx, Если пароль в файле, например web.xml, то от админа не прячут. А остальным путь туда закрыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 19:56 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
Petro123azsx, Если пароль в файле, например web.xml, то от админа не прячут. А остальным путь туда закрыт.Ну бывают такие моменты, когда приложение деплоят заказчику с базой, а мастер пароль открывать не хотят. Семантик бекап, например, использует сиквел бекенд для репозитария. Тут просто шифровать нужно. У IIS сервера есть специальная команда для шифрования секции строк соединения к конфигурационном файле web.config. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 20:07 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
azsxавторВообще непонятны ваши заморочки... Не хотите давать доступ к БД? Так используя соединение, которое возвращает ваша JAR можно послать серверу команду DROP database. То есть на самом деле сама идея не верная? Да. Правильно будет завести пользователя которому дать права на вьюхи и на хранимые процедуры для операций CRUD. Все остальную структуру от него скрыть. Ибо нефиг :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2017, 11:00 |
|
||
|
Как скрыть параметры соединения с БД?
|
|||
|---|---|---|---|
|
#18+
azsxНо хочу разобраться как просто не показывать логины с паролями для открытого проекта Защититься на уровне приложения не получится! Упорный прогер рефакторит ваш код и вытащит пароль. Только на уровне базы данных методом выделения минимально необходимых для работы прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2017, 11:04 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39471728&tid=2122835]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
79ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 366ms |

| 0 / 0 |
