|
|
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Есть БД (MySQL) на хостинге (со стандартным php) Нужен клиент для работы с БД с условиями: 1) в некоторых случаях БД может ставится локально на машину (однопользовательская, нет инета) 2) требования к интерфейсу довольно высокие (как к нормальному desktop-у) Хотелось бы уточнить насчет swing-клиента (понятно что можно реализовать php скрипты и view = javascript framework (ExtJS например), затем локально также поставить PHP и apache и условия и 1) и 2) будут выполнены) Но поскольку java ближе хотелось бы заюзать ее... Так вот вопрос: КАК корректно реализовать доступ к удаленной БД из swing-клиента, заюзывая web start и JDBC конечно. Если параметры доступа к БД будут храниться на клиенте, даже будучи зашитыми в java-код и передаваясь по https -они ведь могут быть определены из кода, а значит реальна ситуация когда будет получен несанкционированный доступ к БД ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 10:19:37 |
|
||
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Help please... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 19:16:09 |
|
||
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Help please... бла-бла-бла... Если параметры доступа к БД будут храниться на клиенте, даже будучи зашитыми в java-код и передаваясь по https -они ведь могут быть определены из кода, а значит реальна ситуация когда будет получен несанкционированный доступ к БД ? Для ограничения несанкционированного доступа придумали такую вещь как логин и пароль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 19:22:51 |
|
||
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. Help please... бла-бла-бла... Если параметры доступа к БД будут храниться на клиенте, даже будучи зашитыми в java-код и передаваясь по https -они ведь могут быть определены из кода, а значит реальна ситуация когда будет получен несанкционированный доступ к БД ? Для ограничения несанкционированного доступа придумали такую вещь как логин и пароль. "такая вещь как логин и пароль" - это и есть "праметры доступа к БД" ? Если они будут прошиты в java-коде, то значит их можно будет получить его декомпиляцией, или имеется ввиду что каждый пользователь клиентской части - должен быть user-ом БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 23:47:01 |
|
||
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Help please... "такая вещь как логин и пароль" - это и есть "праметры доступа к БД" ? Если они будут прошиты в java-коде, то значит их можно будет получить его декомпиляцией, или имеется ввиду что каждый пользователь клиентской части - должен быть user-ом БД? Каждый человек, работающий с твоей системой, вводит свой логин и пароль. Те, кому не положено много знать, по своему логину и паролю получают мало. А кому положено — много. Логин — может быть логином DB. А может и не быть. В таком случае юзер вбивает свой логин и пароль, но автоматически коннектится к жестко заданными Л/П, например connect\connect. Когда он так логинится — у него должны быть права ровно на одну вещь — выполнение какой-то твоей внутренний функции, которая получил на вход введенные пользователем Л/П и скажет, разрешать доступ или нет. IP-адрес и порт — это не тайна. Их всё равно узнают, просканировав компутер (а это происходит с каждый компутером через полчаса подключенного к интернету). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 23:55:20 |
|
||
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. Каждый человек, работающий с твоей системой, вводит свой логин и пароль. Те, кому не положено много знать, по своему логину и паролю получают мало. А кому положено — много. Логин — может быть логином DB. А может и не быть. В таком случае юзер вбивает свой логин и пароль, но автоматически коннектится к жестко заданными Л/П, например connect\connect. Так вот и я об этом, где храниться этот connect\connect (при условии что уровня сервера приложений нет, т.е. есть только удаленная БД и клиент) ? Если "connect\connect" прошит на клиенте - то его теоритически узнать можно, и если это общий user/pwd для работы с данными в БД, то узнав IP и порт можно подредактировать данные по своему желанию (с помощью всевозможных средств администрирования). Хрюхрюшкин. Когда он так логинится — у него должны быть права ровно на одну вещь — выполнение какой-то твоей внутренний функции, которая получил на вход введенные пользователем Л/П и скажет, разрешать доступ или нет... А если БД - MySQL 4-я, без stored procedure... если бизнес логика прошита на клиенте (без сервера приложений скажем) - Или все-равно необходимо писать PHP-скрипты с логикой на сервере приложений, которые и будут реализовывать "выполнение какой-то внутренний функции"? Ведь если бизнес-слой необходимо выносить с клиента при работе с удаленной БД на уровень сервера приложений, тогда незачем и клиента тяжелым делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 09:32:53 |
|
||
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Help please... Так вот и я об этом, где храниться этот connect\connect (при условии что уровня сервера приложений нет, т.е. есть только удаленная БД и клиент) ? Если "connect\connect" прошит на клиенте - то его теоритически узнать можно, и если это общий user/pwd для работы с данными в БД, то узнав IP и порт можно подредактировать данные по своему желанию (с помощью всевозможных средств администрирования). Ты, похоже, не в курсе, о каких основах я тебе пытаюсь поведать. Разговор глухого со слепым мне не очень интересен. Попытаюсь еще раз. Нужно сделать так, что даже зная эти IP, порт, общий логин и пароль — никто всё равно не смог бы получить доступ к реальным данным. Как это делается в MySQL — я не знаю. Как это делается в Sybase ASE или Oracle — я знаю. Help please...А если БД - MySQL 4-я, без stored procedure... если бизнес логика прошита на клиенте (без сервера приложений скажем) - Или все-равно необходимо писать PHP-скрипты с логикой на сервере приложений, которые и будут реализовывать "выполнение какой-то внутренний функции"? Ведь если бизнес-слой необходимо выносить с клиента при работе с удаленной БД на уровень сервера приложений, тогда незачем и клиента тяжелым делать? Выкинь и поставь нормальную СУБД. Делать трехзвенку или нет — дело ваше. Если система трёхзвенная, нет клиент должен быть максимально легким. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 12:41:30 |
|
||
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин.Ты, похоже, не в курсе, о каких основах я тебе пытаюсь поведать. Разговор глухого со слепым мне не очень интересен. Попытаюсь еще раз. Нужно сделать так, что даже зная эти IP, порт, общий логин и пароль — никто всё равно не смог бы получить доступ к реальным данным. Как это делается в MySQL — я не знаю. Как это делается в Sybase ASE или Oracle — я знаю. Как делается в Oracle и я знаю... Так что про основы объяснять мне не надо... Насчет выбросить БД: не получится, что уж есть на хостинге, причем не я выбираю и оплачиваю его... PHP 5 + MySQL4 - то что есть... Я о том и спрашиваю, не как вообще это делается в теории, а возможно ли в таких условия без размещения бизнес-логики на сервер приложений (без использования PHP), реализовать нормальный swing-клиент для работы с БД MySQL 4, в которой нет stored procedure ? Хрюхрюшкин.Если система трёхзвенная, нет клиент должен быть максимально легким. Про то и речь, если заюзывать PHP (который бы проверял права пользователя, осуществлял бы обращение к БД и выплевывал результат клиенту), то делать клиента на swing-глупо по-моему... А если БД без stored procedure (т.е. sql-код будет также зашит в код клиента) стоит ли смотреть в сторону тяжелого клиента, или без вариантов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:49:47 |
|
||
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Help please Как делается в Oracle и я знаю... Так что про основы объяснять мне не надо... Насчет выбросить БД: не получится, что уж есть на хостинге, причем не я выбираю и оплачиваю его... PHP 5 + MySQL4 - то что есть... Я о том и спрашиваю, не как вообще это делается в теории, а возможно ли в таких условия без размещения бизнес-логики на сервер приложений (без использования PHP), реализовать нормальный swing-клиент для работы с БД MySQL 4, в которой нет stored procedure ? Если всё так плохо, делайте каждого пользователя системы пользователем БД, если используете тяжелого клиента. Зашивать критичные данные (вроде настоящих логина и пароля) внутри приложения нельзя ни при каких условиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:56:07 |
|
||
|
Web DB + Swing Client... Как правильно?
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин.Если всё так плохо, делайте каждого пользователя системы пользователем БД, если используете тяжелого клиента. Зашивать критичные данные (вроде настоящих логина и пароля) внутри приложения нельзя ни при каких условиях. Спасибо за ответ, осталось узнать есть ли в 4-ой версии такие вещи (их аналоги) как "права вызывающего" и/или синонимы хотя бы :) ...мне в голову уже всякие "извраты" лезут: единственный PHP скрипт, который принимает логин и пароль (системные, а не БД), которые вводит пользователь в swing-клиенте, PHP скрипт сам обращается к БД (напр.: к таблице user), проверяет права и если все ОК, возвращает логин и пароль к самой БД (ес-но, все передается по https...), далее (в сеансе :) ) swing-клиент работает через логин и пароль юзера БД, есть ли в таком варианте подводные баги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:08:33 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=615&tid=2144814]: |
0ms |
get settings: |
17ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 321ms |
| total: | 459ms |

| 0 / 0 |
