Page 1404 - Informatica dalla A a Z
P. 1404

Le APPLET



           Dobbiamo sapere che i programmi che vengono scritti con il linguaggio Java si dividono in
           due grandi categorie:
              • le applicazioni

              • gli applet
           Mentre le applicazioni, viste in precedenza costituiscono programmi Java completi a sé
           stanti, le Applet, possono essere eseguite soltanto all’intemo di un browser Web.
           Quasi tutto quello che si può fare con un’applicazione, può essere realizzato anche usando
           un’applet.  Un’applet  è  una  particolare  applicazione  grafica  perché  non  viene  eseguita
           all’interno di una propria finestra, ma usa la finestra di un browser. Questo pannello oc-
           cupa una partedella finestra del browser, e le sue dimensioni vengono definite da un par-

           ticolare tag HTML nella pagina Web. Può contenere pulsanti, caselle di testo, aree di dise-
           gno e tutte le altre componenti grafiche di Java.
           Esistono però delle limitazioni dovute a problemi di sicurezza, per evitare che qualche ma-
           leintenzionato possa approfittarne.


           Approfondimento: Le azioni vietate alle Applet:
           • accedere ad indirizzi arbitrari in memoria; limite intrinseco del linguaggio Java e del By-
           tecode Verifier;
           • accedere al file system locale;
           • utilizzare procedure native: non si possono invocare i metodi della classe java.lang.Run-
           time come exec o exit;
           • leggere alcune delle proprietà di sistema della macchina sulla quale sono in esecuzione;
           • definire alcuna proprietà di sistema;

           • creare o modificare alcun thread o thread group che non si trovi nel thread group dell’Ap-
           plet stessa;
           • definire o utilizzare una nuova istanza di ClassLoader, SecurityManager, ContentHandler-
           Factory, SocketImplFactory o URLStreamHandlerFactory; devono utilizzare quelle già esi-
           stenti;
           • accettare connessioni da una macchina client.


           Il modello più semplice di gestione della sicurezza delle Applet è quello detto sandbox: in
           questo caso esse vengono eseguite all’interno di un ambiente protetto in modo da impe-
           dirne l’accesso al sistema sottostante.
           La sandbox è una specie di contenitore dal quale le Applet non possono evadere: il con-
           trollo sulle operazioni permesse è effettuato dal Security Manager, il quale verifica il byte-

           code in fase di caricamento (Bytecode Verifier), e l’Applet in fase d’esecuzione (Security
           Manager).
           Oltre al classico modello sandbox, con l’avvento della versione 1.1 del JDK si è voluta offrire
           al programmatore una maggior libertà d’azione, introducendo il concetto di Applet fir-
           mata. In questo caso, tramite un processo di firma elettronica con un certificato digitale, si

                                                           1400
   1399   1400   1401   1402   1403   1404   1405   1406   1407   1408   1409