Здравствуйте, kostaky, Вы писали:
K>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, kostaky,
А>> s1="jdbc:mysql://10.0.143.222:3307/db7690?user=test&password=test1";
А>> conn = DriverManager.getConnection(s1);
А>>нет доступа А>> s1="jdbc:mysql://127.0.0.1:3306/db7690?user=test&password=test1";
А>> conn = DriverManager.getConnection(s1); А>>работает
K>Точно ответить не могу, с MySQL не работал, может MySQL и не слушает порт 3307, а слушает 3306 — ну и подключайтесь к 3306 — какие проблемы?
база точно прослушивает 3307 порт
и даже ява может с нею работать... т.к. проверял из фва приложения..
а аплет не может
Здравствуйте, passer, Вы писали:
P>подскажите пожалуйсто как из апплета обрашатся к удоленной(не на локальном компе)... он жалуется что нету доступа
P>(очень прошу не говарите чтото типо "а я знаю что там не правильно..". прошу также учесть и то что я не так довно пишу на java. заранее всем спосибо)
Твоя проблема в том, что апплеты запускаются в ограниченной правилами безопасности среде (поищи в интернете про модель песочницы — sandbox).
Одно из таких правил запрещает коду апплета конектится к удаленным хостам, кроме того с которого он был загружен.
Выхода 3:
1) грузить апплет с хоста, где расположена база данных.
2) настроить security environment jvm в браузере так, чтобы апплет мог лазить на другой хост (минус этого решения в том, что надо настраивать каждую клиентскую машину. Так же, если настраивает не опытный человек, можно поломать песочницу, и, таким образом, другие апплеты с вредоносным кодом могут получить доступ к защищаемым ресурсам системы).
3) подписать апплет. Это даст возможность аплету обойти ограничения песочницы (если пользователь, загрузивший апплет, даст на это добро)
L>2) настроить security environment jvm в браузере так, чтобы апплет мог лазить на другой хост (минус этого решения в том, что надо настраивать каждую клиентскую машину. Так же, если настраивает не опытный человек, можно поломать песочницу, и, таким образом, другие апплеты с вредоносным кодом могут получить доступ к защищаемым ресурсам системы). L>3) подписать апплет. Это даст возможность аплету обойти ограничения песочницы (если пользователь, загрузивший апплет, даст на это добро)
L>Самый правильный вариант, ИМХО, — 3!
По-видимому предложенный мной вариант с securitymanager это и есть 2 вариант, но я согласен с тем, что лучше всего подписать jar апплета. В Sun Java Tutorial есть раздел посвящённый генерации keystore и последующему подписыванию jar.
Здравствуйте, passer, Вы писали:
L>>Самый правильный вариант, ИМХО, — 3! P>я прописал аплет. проблем не было. но толку тоже не стало... дает туже самую ошибку P>что может быть не так??????
Ну наэтом мои экстрасенсорные способности закончились. показыва что за ошибка!
Хотя нет, чт-то улавливаю. АААААА. Прилив СИЛЫ! Полагаю может быть проблемма в proxy, за которым сидишь ты
Здравствуйте, kostaky, Вы писали:
K>Здравствуйте, Lucker, Вы писали:
L>>2) настроить security environment jvm в браузере так, чтобы апплет мог лазить на другой хост (минус этого решения в том, что надо настраивать каждую клиентскую машину. Так же, если настраивает не опытный человек, можно поломать песочницу, и, таким образом, другие апплеты с вредоносным кодом могут получить доступ к защищаемым ресурсам системы). L>>3) подписать апплет. Это даст возможность аплету обойти ограничения песочницы (если пользователь, загрузивший апплет, даст на это добро)
L>>Самый правильный вариант, ИМХО, — 3!
K>По-видимому предложенный мной вариант с securitymanager это и есть 2 вариант, но я согласен с тем, что лучше всего подписать jar апплета. В Sun Java Tutorial есть раздел посвящённый генерации keystore и последующему подписыванию jar.
Согласен с предыдущими ораторами
Так же хотелось бы заметить, что использование соединения с базой данных напрямую из апплета — билет в один конец с точки зрения безопасности.
Лучше использовать промежуточный слой на стороне веб сервиса. Это и сделает приложение безопасным и уменьшит обьем апплета т.к. вся лолгика останется на сервере.
Здравствуйте, kostaky, Вы писали:
K>grant { K> permission java.security.AllPermission; K>};
это в аплет надо прописывать???. пожалуйсто кто нибудь напишите мне об этом поподробнее
Здравствуйте, passer, Вы писали:
P>Здравствуйте, kostaky, Вы писали:
K>>grant { K>> permission java.security.AllPermission; K>>}; P>это в аплет надо прописывать???. пожалуйсто кто нибудь напишите мне об этом поподробнее
файл my.policy:
#start cut here
grant {
permission java.security.AllPermission;
};
#end cut here
Но это просмотр апплета, как заставить Java Plug-In действовать в соответствии с этим файлом политики безопаности я не знаю, попробуй вот так:
Панель управления -> Java -> Java -> Java Applet Runtime Settings -> View -> jre1.5.0 (или что там у тебя) -> и в Java Runtime Parameters добавь вот это (без кавычек) )"java.security.policy=my.policy", либо вот это "-Djava.security.policy=my.policy"- не знаю как в это случае — попробуй оба
извеняюсь я перерадовался от мысли что мучения кончилось. но нет...
в appletviewer-е апплет работает. а плагин перенастроить неудалось. еше какие варианты есть???...вы уверены что плагин найдет файл my.policy
или его надо скопировать в какой нить каталог
Re: applet + jdbc
От:
Аноним
Дата:
15.07.05 18:07
Оценка:
Здравствуйте, passer, Вы писали:
Апплет с базой соединять напрямую нехорошо. Апплет должен работать с сервлетом (один из вариантов), а сервлет — соединяться с базой.