Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> applet security problem 
:(
    Опции темы
SYS
Дата 7.5.2003, 15:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня такой вопрос.
Я загруjаю апплет.
и функция getDocumentBase() вазврашает место апплетА на сервере.
может ли апплет читать из файла (.txt), который находится в том же каталоге?
И если ест jdk , как настраивать Netscape Comunicator, чтоб@ на открыл апплеты?




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


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



С сервера читать нужно? Или в месте, где аплет запущен?

Что ты имеешь ввиду под "как настраивать Netscape Comunicator, чтоб@ на открыл апплеты?" чтобы запускал их или чтобы открывал на редактирование?
PM MAIL   Вверх
SYS
Дата 7.5.2003, 15:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











net chtob@ zapuskal ix.

A txt fail nado otkr@t na servere, tam gde lejit i sam applet.
  Вверх
AntonSaburov
Дата 7.5.2003, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Цитата
и функция getDocumentBase() вазврашает место апплетА на сервере.
может ли апплет читать из файла (.txt), который находится в том же каталоге?


Просто читать файл через обычный ввод/вывод - невозможно.
Апплет ведь фактически запущен на локальной машине. А файл лежит на другой.
Для его скачивания надо обращаться к какой-либо службе на сервере, с которого взят апплет - FTP, или к тому же WEB-серверу по HTTP.

Т.е. апплет может только создать коннект к серверу и использовать этот коннект для закачки файла на твою локальную машину, где он запущен.

В принципе при использовании более расширенной политики безопасности можно закачать файл и с другого хоста, но в любом случае это не будет обычная операция ввода/вывода из/в файл.

Иначе никак.
PM MAIL WWW ICQ   Вверх
SYS
Дата 8.5.2003, 08:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











понятно.
но как это можно делать?
И если я скачаю этот файл в локальную файл систему, то как апплет может открыт этот файл?
Дело в том что, вопроз безопасности сдес стоит не на последном месте.
Например как через HTTP скачать содержaние этого файла сразу в апплет, не используя локальную файл систему.

  Вверх
AntonSaburov
Дата 8.5.2003, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Цитата
И если я скачаю этот файл в локальную файл систему, то как апплет может открыт этот файл?


Апплет может открыть этот файл. Но не просто так. Во-первых, если JAVA у броузера старая или не определена политика безопасности, то апплет к диску обратиться не сможет. Если JAVA номая, то надо определить политику безопасности для возможности записи файла в какую-нибудь директорию.

Вообщем в обычной ситуации апплет ничего записать на диск не может.

Цитата
Например как через HTTP скачать содержaние этого файла сразу в апплет, не используя локальную файл систему


Открыть сокет прямо в апплете к тому же серверу. Во, нашел на форуме. Помню, чтоуже отвечал.

HTTP туннелирование
PM MAIL WWW ICQ   Вверх
SYS
Дата 9.5.2003, 11:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











u menaj Browser Netscape Comunicator
JDK 1.3.1_06
no kak soazdat " политика безопасности" ja n znaju.

Mojet pomojete?
A cherez URLconection, ja mogu otkr@vat etot txt fail, kotor@i naxodica tam ja, gde i applet?

Na primere ja chjo to ne ponjal.
Izvinite za takie lamerskie voopros@.

  Вверх
SmaLL
Дата 15.5.2003, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(SYS @ 9.5.2003, 12:55)
A cherez URLconection, ja mogu otkr@vat etot txt fail, kotor@i naxodica tam ja, gde i applet?

Можешь
Вот код из работающего апплета
Код
   public String LoadText(String fileName)
   {
       String s1 = "";
       try
       {
           try
           {
               URL url = new URL(getCodeBase(), fileName);
               URLConnection urlconnection = url.openConnection();
               if(urlconnection.getContentLength() > 0)
               {
                   java.io.InputStream inputstream = urlconnection.getInputStream();
                   BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(inputstream));
                   String s2 = bufferedreader.readLine();
                   s1 = s1.concat(s2);
                   for(; s2 != null; s2 = bufferedreader.readLine())
                       s1 = s1.concat(s2);

                   bufferedreader.close();
               }
           }
           catch(Exception _ex) { }
       }
       catch(SecurityException _ex) { }
       return s1;
   }



--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
AntonSaburov
Дата 15.5.2003, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Политика безопасности настраивается очень просто/
Надо отредактировать файл (JAVA_JRE-каталог)\lib\secutiry\java.policy

Формат этого фала

grant [SignedBy "список имен"] [, CodeBase "URL"
{
permission имя_класса_права_доступа "имя" "действие" [, SignedBy "список имен"]
};
grant ...
{
};

SignedBy указывает, что надо проверять, кто подписал данный апплет.
Если SignedBy отсутствует, то не проверяем.
CodeBase указывает URL с которого закачан апплет. Если такой URL есть, то
к нему будут применяться правила указанные в файле.

Теперь по поводу имя_класса_права_доступа.
Это классы? которые фактически проверяют и дают доступ к ресурсам. Все они
наследники от класса Permission. Вот их и надо подставлять. Каждый из них
отвечает за свои права - так что тут уже надо брать документацию и смотреть.
Например для FilePermission надо указывать имя до файла (можно использовать *)
и модификаторы через запятую (read, write, delete).
Для SocketPermission - "connect", "listen", "accept"

Например:

grant CodeBase "http://www.trust.com/"
{
permission java.io.FilePermission "C:\\temp\\sample.txt", "read"
}

Если апплет загружен с сайта www.trust.com, то он может читать указанный файл.

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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