# JAVAFX Sicherheits Warnung bei externen URL s



## QuickAndDirty (12. Nov 2009)

Hallo bin hier eine Neue Biene 
,also bitte nicht Hauen, wenn ich hier was falsch mache...
komme von Delphi habe aber schon diverse Mini-Programme (UNI, SCHULE , PRIVAT) in Java und in Javafx
geschrieben.
Nun beschäftige ich mich recht intensiv mit Javafx und bin auf folgendes Problem gestoßen.

Ich durchlaufe 10 Bilder aus dem Internet die per URL im Programm hardgecoded sind 
,blende die halt aus und ein...ganz normaler Code für 'ne Slideshow den ich von 'nem Sun Sample geklaut habe.

Wenn ich das JAVAFX-Programm einfach als Programm (=<default>)starte funktioniert es supi.
Wenn ich es <in a browser> starte kommt erst das lade gif mit der Tasse und dann nur ne Grauebox im Browser(FF)...
Wenn ich es dann als <webstart> ausführe gibt es Sicherheitswarnungen beim Start und beim Laden der Bilder von der URL: "Java Sicherheitswarnung das Appled versucht auf die URL : www.irgendeineURL.Länderkennung  zu zugreifen". Wenn man die mit dem Hacken bestätigt kommen die beim zweiten Start nicht mehr.
Und danach geht auch das Applet im browser ???:L

Das soll eine Slideshow sein die von meiner eigenen Homepage Bilder durchläuft...quasi wie ein Video.
2 Dinge die mich ärgern.
1. Wieso kommt die Sicherheitswarnung nicht auch im Browser??? Es scheint ja als würde die Stumm bleiben
2. Wieso kommt überhaupt eine Sicherheitswarnung beim Laden eines *jpg? 

Ich möchte also ein Slideshow mit javafx machen die im Browser läuft und damit die Ladezeiten des jars schön kurz sind möchte ich die Bilder genau dann laden wenn sie auch angezeigt werden sollen und nicht alle auf einmal mit dem jar zusammen. 
Dazu wäre sinnvoll wenn das ohne jede Warnung geschieht damit sich das ganze möglichst sauber in der Website einfügt ohne das Multimedia Erlebnis mit Sicherheitswarnungen zu trüben.

Was kann ich tun?


----------



## ralfgc (12. Nov 2009)

Hallo,

gar nicht...

Das Problem ist das die Bilder anscheinend auf einem anderen Server liegen als der, von
dem die Applikation geladen wird. 
Dateien mit deiner Applikation von anderen Servern zu laden ist aus Sicherheitsgründen
entweder gar nicht, oder nur mit Bestätigung erlaubt. (Bei Programmen die aus dem 
Web geladen werden wie applets oder über java webstart)

Die Lösung wäre die Bilder die du anzeigen willst zuerst auf den Server zu laden,
von dem deine Applikation geladen wird und von da aus Zugriff durch dein Programm zuzugreifen.

Viele Grüße


----------



## QuickAndDirty (15. Nov 2009)

Aha..
das ist tatsächlich so...ich habe die Bilder auf eine Site Hochgeladen...und über eine feste URL referenziert....nur habe ich das applet eben immer nur IN Netbeans und in dem XAAMP auf meinem Rechner getestet....

Was ist der Referenz Punkt den das Applet als EIGENER SERVER braucht ? 
Ist es das was ich in der JNLP datei als Homepage festlege? oder der Punkt CODEBASE?

Weil ausgeführt wird es ja lokal auf dem Rechner von der Festplatte aus.


----------



## ralfgc (15. Nov 2009)

Der Zugriff auf externe Dateien innerhalb des Applets ist nur erlaubt mit Dateien,
die von dem Server kommen, von dem auch das Applet geladen wurde bzw der Server
auf dem die JNLP Datei liegt.

Wird das Applet also von bspw test.org geladen, darf dieses auch nur Dateien
von test.org herunterladen.


----------



## QuickAndDirty (15. Nov 2009)

Also weiß javaws.Exe von welchem Server die *.jar oder die *.jnlp datei kommt, weil das browser Plug-In es ihr irgendwie mitteilt...ja? Weil das Jar selbst wird ja erst an java übergeben wenn es im Browsercache auf platte ist oder?

OK also kann ich doch images anzeigen die nicht in der jar datei liegen. Ohne diese unsäglich unkomfortable sicherheitswarnug
wenn ich sie nur auf dem Server lagere auf dem auch das applet läuft. Sehr gut.  Damit würde die start zeit vermutlich um einiges beschleunigt...im moment habe ich alles in die Jar mit einkompiliert und um das warten auf das Applet zu verschleiern habe ich das loading_image durch ein mit dem ersten Bild der Slideshow identisches image ersetzt.

Werde das mit den ausserhalb der jar liegenden images aber nochmal versuchen.....

ich bin ja so froh das ich ein Forum gefunden habe...


----------



## zilti (7. Jan 2010)

Auf Dateien auf einem anderen Server kann man, wenn man das JavaFX-Applet nicht signiert hat, afaik nur hiermit zugreifen:
JavaFX 1.2.1 API | javafx.io.http.HttpRequest | Java FX
Dateien die im selben oder darunterliegenden Ordnern des Applets liegen, sollten aber eigentlich problemlos gehen...


----------

