Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-11-2006, 20:44   #1
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
[JAVA]n-esima applet che non si carica

...per voi però, perchè per me è la prima...

ho fatto quest'oggi la mia prima applet ma purtroppo non riesco a visualizzarla nella pagina html a cui l'ho aggiunta.
Praticamente ho creato una classe AppletPanel extends JPanel, il cui costruttore mi "costruisce" un JPanel con alcuni JComponent aggiunti.
Dopodichè nella classe dell'applet (classe in cui c'è la public void init()) ho creato un'istanza di AppletPanel e l'ho aggiunta all'applet tramite la funzione add()...

Posto i codici:

applet
Codice:
package applet;

import appletPanel.Panel;
import javax.swing.*;

public class Applet extends JApplet 
{

	public void init()
	{
		Panel pannelloIscrizioni = new Panel();
		this.add(pannelloIscrizioni);
	}

}
HTML
Il file .html si trova nella stessa cartella in cui è sita Applet.class
Codice:
<html>
  <head>
     <title>Iscrizioni Dietisti</title>
  </head>
  <body>
     <applet code="Applet.class" width=200 height=200> </applet>
  </body>
</html>
avviando l'html vedo solamente una X rossa e un messaggio in basso a sinistra del browser che mi dice che è stato impossibile carica l'applet...

cosa devo fare? a me sembra tutto giusto, eppure...

grazie mille in anticipo
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 20:54   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da KNX
cosa devo fare? a me sembra tutto giusto, eppure...
Tutto giusto no .... hai usato un package di nome 'applet'. Quindi: (a) Il file .class deve stare sotto una directory di nome 'applet' (b) Nel file html devi mettere code="applet/Applet.class" (e ovviamente la directory applet deve stare nella stessa directory del html).
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 21:37   #3
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Quote:
Originariamente inviato da andbin
Tutto giusto no .... hai usato un package di nome 'applet'. Quindi: (a) Il file .class deve stare sotto una directory di nome 'applet' (b) Nel file html devi mettere code="applet/Applet.class" (e ovviamente la directory applet deve stare nella stessa directory del html).
Ok ho fatto come mi hai detto, ho modificato l'HTML in questo:
<applet code="applet/Applet.class" width=200 height=200> </applet>

e si il file Applet.class si trova nella stessa directory (E:\Programmazione\Programmi Java\it.casa.form\applet) del file .html...

ho provato ma niente... sempre una X rossa, e la console Java dice:

----------------------------------------------------
caricamento: classe applet/Applet.class non trovata.
java.lang.ClassNotFoundException: applet.Applet.class
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: E:\Programmazione\Programmi Java\it.casa.form\applet\applet\Applet\class.class (Impossibile trovare il percorso specificato)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.http://www.protocol.file.FileURLConn...onnect(Unknown Source)
at sun.net.http://www.protocol.file.FileURLConn...Stream(Unknown Source)
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 10 more
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 08:45   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da KNX
e si il file Applet.class si trova nella stessa directory (E:\Programmazione\Programmi Java\it.casa.form\applet) del file .html...
No, è la directory 'applet' che deve stare nella stessa directory del file html!!! Cioè devi avere una cosa del tipo:
Codice:
<una directory>
  | 
  +-- file.html
  |
  +-- applet
        |
        +-- Applet.class
Inoltre c'è un'altra cosa importante: tu hai usato un altro package 'appletPanel' con dentro una classe 'Panel' (che suppongo abbia fatto tu). E questa classe/package dove l'hai messa???

Tieni presente una cosa importante: in Java i nomi e la struttura dei package si devono "riflettere" nella struttura delle directory!
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 15:39   #5
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Ok scusa hai ragione ho rispostato l'.html dove mi hai detto tu e questa volta la Console Java ha sputato questo:

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPackageAccess(Unknown Source)
at sun.applet.AppletSecurity.checkPackageAccess(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at applet.InserimentoDB.<init>(InserimentoDB.java:28)
at appletPanel.Panel$2.<init>(Panel.java:101)
at appletPanel.Panel.<init>(Panel.java:99)
at applet.Applet.init(Applet.java:11)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

ti ringrazio per tutti i consigli e aiuti che mi stai fornendo...

Ecco così vedi com'è composto il tutto:

it.casa.form
|
|----> iscrizioni
| |
| |----> iscrizioni.mdb
|
|----> applet
| |
| |---->applet.class\.java
| |---->inserimentoDB.class\.java
|
|----> appletPanel
| |
| |----> Panel.class\.java
|
|----> Applet.html
__________________
...work in progress...

Ultima modifica di KNX : 02-11-2006 alle 15:47.
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 15:52   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da KNX
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
Ma nella tua applet stai cercando di fare qualcosa con i database??? Credo che, per i soliti motivi di sicurezza, qualcosa venga impedito.
Comunque leggi <qui>, parla proprio dell'uso di JDBC nelle applet.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2006, 11:16   #7
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Allora ho spulciato il link (messo ampiamente tra preferiti ) e...

1)Dato che quando provo ad avviare l'Applet la Console Java mi dice

java.security.AccessControlException: access denied
(java.lang.RuntimePermission
accessClassInPackage.sun.jdbc.odbc )

2)ho fatto come scritto sul sito e cioè ho aperto il Policytool e aggiustato la Policy inserendo il permesso

grant {
permission java.lang.RuntimePermission
"accessClassInPackage.sun.jdbc.odbc";
};

3)Nonostante ciò continua a non aprirmisi e a darmi lo stesso messaggio di errore (la Console Java dico)

4)ho notato però che quando uso il Policytool nel momento in cui creo il nuovo permesso, ho la possibilità di specificare la classe.
Mi spiego con un esempio: accessClassInPackage.<nome package> questo è ciò che il Policytool mi dice, quindi ti chiedo: che package devo specificare quello contenente l'applet, quello contenente le direttive per la connessione al DB o quello contenente il DB stesso (che cmq in realtà nn è un package ma una cartella)?

grazie mille
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2006, 11:25   #8
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
aspetta aspetta nuovo sviluppo:
ho dato all'applet il permesso per tutto e tramite l'appletviewer (specificando il nome del file policy) riesco a farla partire ma se apro il .html a cui è annessa ancora una X rossa e stesso messaggio di errore...

appletviewer -J-Djava.security.policy=lucapolicy Applet.html con questo parte
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2006, 11:36   #9
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Eh ... guarda, mi prendi un po' alla sprovvista perchè devo ammettere che delle questioni relative alla sicurezza in Java (policy, ecc...) ne so ancora poco.

Comunque una cosa so. Tu passi all'appletviewer un parametro. Questo però vale solo per l'appletviewer. Se vuoi che valga in generale per il runtime delle applet, devi andare in Pannello di controllo -> Java -> Impostazioni runtime applet Java e quindi impostare il parametro per il JRE.
A questo punto credo che valga per tutti i browser che usano quel JRE.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2006, 15:58   #10
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Ne saprai anche poco ma c'hai preso in pieno .

Nella "Console Java", che puoi aprire quando parte il plug-in Java, in alto c'è scritto quale versione del JRE sia usata. Annotala, nel caso tu ne abbia più d'una.

Apri il pannello di controllo di Java, vai nella scheda Java, nella sezione "impostazioni runtime applet java" premi il pulsante "visualizza".

C'è una tabella con i nomi dei JRE installati. Individua quello corrispondente al JRE del plug-in (determinato attraverso la console Java), fai doppio click nella cella della colonna "Parametri runtime Java" e scrivi i valori necessari a caricare il tuo file policy. Occhio alla sintassi. Ad esempio:

Codice:
java -Djava.security.manager -Djava.security.policy=file:C:/aa aa/bb/cc cc/pgi.policy
C:/aa aa/bb/cc cc/pgi.policy sta per il percorso completo del file con le politiche di sicurezza. Niente apici, anche se il percorso contiene nomi di directory con degli spazi.

Specifica sempre un codebase al tuo grant, giusto per evitare che nel caso in cui dimentichi di eliminare i permessi di sicurezza sperimentali qualcuno faccia porcate con le applet .

Ultima modifica di PGI-Bis : 03-11-2006 alle 16:00.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2006, 23:20   #11
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
siete stati dei grandi tutti e due e vi ringrazio molto per l'aiuto...
dal mio computer adesso, dopo aver passato il file .policy con i dovuti permessi e quindi aver configurato le opzioni runtime delle applet, è tutto ok riesco a visualizzare l'applet e interagire col DB.
Ora dovrei fare il passo successivo e cioè pubblicarla sulla mia pagina web. Per questo diciamo che ho cambiato (nell'HTML della mia pagina web) l'URL dell'applet mettendo quello appropriato, ma neanche a dirlo non riesco a visualizzarla ne sul mio PC ne da quello di una seconda persona.
Il messaggio di errore che compare nella console java è uguale a quello che mi compariva in precedenza:

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)


Ho pensato allora che:

1) Dovevo cambiare anche l'URL del DB
2) Dovevo altresì cambiare quello del .policy

Per questo vi chiedo:
cosa devo aggiungere a String DBurl "jdbc:odbc:...??????...:<nomeMioDB>" l'URL completo di dove si trova il DB? C'è una sintassi particolare?

grazie mille
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 10:38   #12
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
up...
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 11:49   #13
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da KNX
dal mio computer adesso, dopo aver passato il file .policy con i dovuti permessi e quindi aver configurato le opzioni runtime delle applet, è tutto ok riesco a visualizzare l'applet e interagire col DB.
Ora dovrei fare il passo successivo e cioè pubblicarla sulla mia pagina web. Per questo diciamo che ho cambiato (nell'HTML della mia pagina web) l'URL dell'applet mettendo quello appropriato, ma neanche a dirlo non riesco a visualizzarla ne sul mio PC ne da quello di una seconda persona.
Il messaggio di errore che compare nella console java è uguale a quello che mi compariva in precedenza:
Non è necessario cambiare nella pagina HTML l'URL della applet. Cioè basta lasciare ad esempio:

<applet code="applet/Applet.class" ....

Dopotutto ... è relativo alla posizione del file HTML.

Quello che invece sicuramente devi cambiare è il codeBase all'interno del file di policy.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 15:46   #14
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Quote:
Originariamente inviato da andbin
Quello che invece sicuramente devi cambiare è il codeBase all'interno del file di policy.
Cioè devo andare su Pannello di Controllo --> Java e dirgli, fra i parametri di runtine Java, di cercare il .policy da un'altra parte?
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 15:55   #15
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
CODEBASE è l'attributo che qualifica l'applicazione di un insieme di politiche di sicurezza. E' quello che c'è subito di fianco ai "grant" nei file policy.

In file policy può contenere più insiemi di permessi ognuno dei quali applicabili a diverse categorie di applicazioni, identificate o in base alla provenienza (il codebase) o all'identità del firmatario (nel caso di applicazione certificata) o a entrambi.

Controlla che il grant del tuo file policy in cui sono inseriti i permessi per l'accesso al package sun.* abbia un codebase compatibile con la provenienza dell'applet su internet.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 16:55   #16
KNX
Senior Member
 
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
Allora, ho fatto un pò di confusiona ma adesso rimedio:

1) sto usando il server ftp Tiscali (ftp.tiscali.it)

2) il codice del file .policy presente sul server è:
Codice:
 AUTOMATICALLY GENERATED ON Tue Apr 16 17:
:59 EDT 2002
 DO NOT EDIT 


grant {
  permission java.security.AllPermission;
3) sto usando un database MS Access nominato Iscrizioni.mdb

4) questo URL (da passare come parametro a DriverManager.getConnection) è giusto?
Codice:
String msAccessURL = "jdbc:odbc://ftp.tiscali.it/Iscrizioni;user=xxxx;password=xxxx";
5) cosa devo fare per quanto riguarda i driver di connessione? Attraverso questa linea di codice (Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")), da quello che ho potuto capire, carico i driver locali. Come faccio se il mio DB sta appunto su un server, anche i relativi driver per effettuare una connessione con esso devono essere sul server?

grazie mille per essere stati così pazienti, purtroppo mi sono addentrato in una cosa più grande di me...
__________________
...work in progress...
KNX è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 18:40   #17
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Io non sono un esperto di access ma non so se sia sufficiente mettere su una macchina il file mdb perchè si possa accedere alla base dati in esso contenuta. Se non vado errato, occorre anche che quel file sia impostato come origine dati (sul server).

Per il file policy, un grant senza niente è un grant in cui il codebase è ALL (da ogni dove).

Trascurando il fatto che prima di applicare quelle particolari politiche di sicurezza che hai realizzato sarebbe consono gridare "sì, fammi male bestia, dai, dai", per far usare al plug-in quelle politiche suicide la sintassi dovrebbe essere:

-Djava.security.policy=ftp:indirizzoftpdelfilepolicy

Dico dovrebbe perchè non so se il sistema vada oltre l'http, in termini di protocollo supportato (la documentazione dice ogni URL valido ma gli esempi trattano di http e file).
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
Apple MacBook Neo 13'' con chip A18 Pro ...
Insieme a Leica SL3-P presentate le otti...
La Cina svilupperà anche il razzo...
Rocket Lab e la missione Victus Haze per...
Starship: Ship 40 ha eseguito uno static...
I nuovi Samsung Galaxy Watch 9 si mostra...
Einsten aveva ragione, di nuovo: captate...
Top 10 offerte Amazon: 5 sono partite qu...
AI Conf 2026: l'intelligenza artificiale...
Samsung Galaxy S26 scende a 711,49€: un ...
Dopo il maxi blackout, la Spagna cambia ...
Costa meno di un MacBook e fa molto di p...
Ecco tutti i robot aspirapolvere rimasti...
Più partite da seguire in contemporanea?...
389€ sono veramente pochi per questo PC ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v