Ouvrir un fichier local dans un navigateur web [Applet] - Java - Programmation
Marsh Posté le 30-06-2006 à 12:23:48
Ben l'idée est simple, une applet n'a absolument pas le droit d'accéder au disque local ! tu te rends compte des problèmes de sécurité que ça poserait ? ça voudrait dire que n'importe quelle page web pourrait alors se promener dans ton disque dur pour y chercher ou sauver ce qui l'intéresse... vachement dangereux.
Maintenant tu peux peut-être contourner cette limitation si l'applet ne doit tourner que chez toi (et aucun autre client), mais si c'est pour mettre sur un site web consultable par tout le monde oublie ça ne marchera jamais. Par contre une applet à le droit de lire et d'écrire des fichiers sur son serveur originel si jamais (enfin dans son codebase il me semble).
Marsh Posté le 30-06-2006 à 12:28:00
bad11 a écrit :
|
Et si je viens sur ton site avec mon linux, elle fait comment pour ouvrir ton fichier mon applet ?
Marsh Posté le 30-06-2006 à 12:46:49
Tu peux s'il est signé et que le visiteur accepte ... Parcontre c'est vrai que c'est pas cool pour nous linuxsiens
Marsh Posté le 02-07-2006 à 11:08:01
j'ai jamais rien compris avec ces applets signés et j'aimerais bien qu'on m'explique. Si je suis un saloupiot qui veut attaquer un client par une applet, j'ai qu'à la signer et elle est réputée comme fiable ? Pour que ce soit sérieux, il faudrait au moins que le client ait dans son keyring mon certificat, obtenu par une voie fiable il me semble. Si une bonne âme voulait bien m'expliquer le fonctionnement de ce mécanisme (par la procédure pour signer, ça je sais faire, mais comment être certain qu'un applet qu'un inconnu à signé ne sera pas désastreuse pour ma bécanne)...
Pour la remarque de zapan666, tu veux dire qu'il existe des gens qui n'ont ni windows ni IE ? Parce que sur le site de M$ ils affirment que c'est une légende urbaine
Marsh Posté le 02-07-2006 à 11:19:21
bad11 a écrit : Bonjour, |
La sécurité est très importante alors je pense que tu peux rêver d'avance
bad11 a écrit : |
Pourquoi tu ne te baserais pas plutôt sur un système de cookies et d'infos stockées sur ton serveur. eT le fichier XML c'est ton serveur qui l'enverrai en fonction d'un id recupéré par les cookies. Bien si cookie désactivé ben DTC (au passage bien sur tu cryptes l'id dans le cookie pour qu'un petit malin ne s'amuse pas à modifier l'id dans le cookie
bad11 a écrit :
|
Super \o/ et voila que tu veux coller un fichier xml dans mon C:\, j'ai pas envie qu'une applet qui sort de je ne sais ou me colle un fichier xml dans le c:\, j'ai bien avoir mon root de propre, c'est du noobism de bas étage ça. De plus ya que sous Windows que tu trouveras C:\. sous linux et macOS ben je te laisse chercher.
Marsh Posté le 10-07-2006 à 14:20:27
Le contexte de conception est un peu spécial. Réservé à un intranet. Je ne vous demandais pas de me dire que c'est fait comme un noob (car c'est un projet adapté et nous n'avons pas pu faire autrement) mais comment contourner le problème ;=).
Mon applet est signée. Le fichier XML et créé, puis détruit à la fin de l'applet. C'est juste un fichier temporaire.
Donc si vous avez une idée pourquoi ma fenêtre ne s'ouvre pas sur un fichier local, une petite réponse serait la bienvenue
Marsh Posté le 10-07-2006 à 14:23:37
Je ne vois pas bien comment utiliser des cookies dans ce contexte Gatsu..
Marsh Posté le 10-07-2006 à 14:59:35
bad11 a écrit : Le contexte de conception est un peu spécial. Réservé à un intranet. Je ne vous demandais pas de me dire que c'est fait comme un noob (car c'est un projet adapté et nous n'avons pas pu faire autrement) mais comment contourner le problème ;=). |
et pourquoi l'ecrire sur le disque alors ? garde le en memoire, probleme resolu...
Marsh Posté le 10-07-2006 à 15:04:02
Parceque sur ce fichier XML, j'y applique des transformations XSLT avec une feuille de style CSS en prime, tu files tout ca à Mozilla, il transforme tout lui-même.
Donc il faut que je l'ouvre avec un browser pr avoir ces transfo de faite.
Marsh Posté le 10-07-2006 à 15:09:35
uhm, et c'est quoi l'interet du truc ?
(il est possible de faire une transformation XSLT en Java)
Uhm sinon ca doit *surrement* etre possible si ton applet est signe d'enregistre sur le disque mais je pense que c'est dans un repertoire defini, et pas n'importe ou (Je dis peut etre une connerie hein, a verifier tout ca)
Marsh Posté le 10-07-2006 à 15:21:55
le truc c'est que tout marche en local. Il sauvegarde bien sur le disque. M'ouvre le fichier avec mon browser par défaut, me fait mes transformation etc... mais des que je met ca sur un serveur, et bien si je lui demande d'ouvrir une page sur le web, il me lance bien le browser. Si c'est un fichier local, il ne fait rien et ne renvoie aucune erreur... bizarre!
L'interet est de pouvoir naviguer dans des Fils RSS pour des personnes non voyantes. Donc je récupere le fichier xml RSS depuis un site web de news. Je le transforme et on peut naviguer dedans grâce aux flèches du clavier + une synthèse vocale qui lit ce qui est écrit.
Marsh Posté le 29-06-2006 à 14:24:05
Bonjour,
J'aimerais depuis mon applet java ouvrir un fichier situé sur le disque dur du client. Fichier préalablement créé par l'applet elle même.
Il s'agit d'un fichier XML et je souhaiterais l'ouvrir dans un navigateur web. J'ai signé mon applet dans les règles de l'art. Pas de problèmes la dessus.
Quand je test en local, l'applet ouvre bien mon fichier. Quand je la met sur le serveur, la nouvelle fenêtre ne s'ouvre pas.
Voila l'erreur dans ma console javascript :
Erreur de sécurité : le contenu situé à http://www.XXXXXX.html?page=http:/ [...] rss091.xml ne peut pas charger de données ou établir un lien vers file:///CJrex.xml.
J'ai testé le path avec localhost, avec 127.0.0.1 etc... rien n'y fait. Sachant que ceci marche en local, ne s'agierait-il pas d'une sécurité des browsers ?
Avez vous une idée ?
Merci d'avance.
Message édité par bad11 le 29-06-2006 à 14:34:14