Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 17 Aug 2005 07:13:44

WaVeR
Gourou(e) du libre
Lieu: Biel-Bienne
Date d'inscription: 08 Oct 2004
Messages: 531
Site web

Applet Java et IE/FF [résolu]

Bonjour All,

J'aimerais lancer gedit ou notepad.exe a partir de IE ou FF.

Le code source JAVA (Exec.java) pour faire cette opération est:

Code:

import java.applet.* ;
import java.awt.* ;
import java.io.*;

public class Exec
{
  public static void main(String[] args)
  {
    String cmd;
        cmd = "/usr/bin/gedit";
        //cmd= "c:\windows\notepad.exe";
        
    try
    {
      Runtime r = Runtime.getRuntime();
      Process p = r.exec(cmd);
      p.waitFor();
    }
    catch(Exception e)
    {
      System.out.println("erreur d'execution " + cmd + e.toString());
    }
   }
}

Une fois la class (Exec.class) faite, je lance mon programme localement (via ligne de commande: java Exec) ceci lance effectivement notepad.exe ou gedit

Ma question est comment faire pour lancer notepad.exe a partir d'IE/FF en utilisant la class Exec.class?

J'ai deja essayé avec

Code:

<HTML>
<HEAD>
<TITLE> gedit </TITLE>
</HEAD>
<BODY>

Lancement de gedit :
<applet code="Exec.class" WIDTH=150 HEIGHT=150>
</APPLET>
</BODY>
</HTML>

Mais aucun succés yikes quand j'essaye dans le browser de lancé cette page html, la console java me donne comme log:

Code:

basic: New window ID: 0
basic: Arrêt de l'applet...
basic: Récepteur de progression supprimé : sun.plugin.util.GrayBoxPainter@33788d
basic: Recherche d'informations...
basic: Libération du chargeur de classes : sun.plugin.ClassLoaderInfo@1961581, refcount=0
basic: Mise en cache du chargeur de classes : sun.plugin.ClassLoaderInfo@1961581
basic: Taille de cache du chargeur de classes courant : 1
basic: Terminé...
basic: Jonction du thread d'applet...
basic: Destruction de l'applet...
basic: Elimination de l'applet...
basic: Sortie de l'applet...
basic: Thread d'applet joint...
basic: New window ID: 2c1735b
basic: Value of xembed: 1
basic: setWindow: call before applet exists:2c1735b
basic: Référence au chargeur de classes : sun.plugin.ClassLoaderInfo@1961581, refcount=1
basic: Récepteur de progression ajouté : sun.plugin.util.GrayBoxPainter@e33e18
basic: Chargement de l'applet...
basic: Initialisation de l'applet...
basic: Démarrage de l'applet...
java.lang.ClassCastException: Exec
    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)
basic: Exception : java.lang.ClassCastException: Exec

Une idée?


There's no place like 127.0.0.1

Hors ligne

 

#2 17 Aug 2005 11:14:50

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Applet Java et IE/FF [résolu]

Salut,
   Peut-être un problême de sécurité. Un applet java ne peut pas faire n'importe quoi, seules certaines classes sont autorisées dans un applet : "Pour les applets, la JVM vérifie toutes les instructions du code avant exécution, et bloque l'exécution du programme si une instruction n'est pas autorisée. Les seules instructions autorisées sont celles qui ne peuvent pas poser de risque d'intrusion. Par exemple, une applet n'a pas le droit d'écrire un fichier sur le disque. Les restrictions sont beaucoup plus strictes que pour d'autres langages du même type conçus par certains éditeurs laxistes. Il existe bien sûr la possibilité qu'une applet Java abuse d'un bug d'une JVM particulière pour exécuter des instructions non autorisées, mais en pratique les failles de sécurité se trouvent beaucoup plus souvent dans d'autres programmes (comme Microsoft Internet Explorer, Outlook ou Office) que dans les JVM. Et bien sûr, si on utilise Java 1.1, on peut être tranquille que les dernières failles de sécurité ont été éliminées il y a des années." d'aprés : http://media4.obspm.fr/outils/simulab/intro_Java.html

Est-ce que tu connais : http://java.sun.com/j2se/1.4.2/docs/api/ ?

A+.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#3 17 Aug 2005 11:29:12

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Applet Java et IE/FF [résolu]

Resalut,
   J'ai vu une possibilité intéressante sur ce site : http://www.progx.org/index.php?section= … 2#_topic_2.

   Petit problème, il faut installer JEXT (http://www.jext.org/index.html?section=about) . JEXT va fonctionner comme un serveur qui écoute sur le port 18141. Les informations sont transmisent via ce script javascript:

Code:

 function notifyJext(cod, syntax)
      {
        cod = "http://" + "../xml/progx-org/articles/".substring(2) + cod;
        jextWindow = window.open('http://localhost:18241/?cod=' + cod + '&amp;syntax=' + syntax, '', 'scrollbars=no,resizable=no,width=320,height=50');
        window.setTimeout("jextWindow.close()", 1500);
      }

Hope it helps.
A+.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#4 17 Aug 2005 12:47:40

WaVeR
Gourou(e) du libre
Lieu: Biel-Bienne
Date d'inscription: 08 Oct 2004
Messages: 531
Site web

Re: Applet Java et IE/FF [résolu]

Si les antivirus arrivent a lire ton HDD via JAVA c'est qu'il y a bien une possibilité? C'est cette possibilité que je cherche, le comment faire afin que mon applet soit lancée par mon browser, sachant que je sais comment signé l'applet et sa se limite la yikes

exemple du scan HDD via JAVA, sa marche sous linux/windows (tu peux voir ton HDD defilé devant toi big_smile ):

http://fr.trendmicro-europe.com/consume … +my+PC+now


There's no place like 127.0.0.1

Hors ligne

 

#5 17 Aug 2005 14:10:35

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Applet Java et IE/FF [résolu]

Salut,
   Je supposes que tu ne distribue pas un certificat qui donne une politique de droit suffisante à ta JVM.
Je prétends ceci à cause de la ClassCastException récupéré dans la console.
A+.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#6 17 Aug 2005 14:55:02

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: Applet Java et IE/FF [résolu]

Hello,

  Non, le ClassCastException est vraisemblablement causé par le fait que ta classe Exec ne dérive pas de la classe Applet. Et pour une applet, la méthode main() n'est pas appelée automatiquement, en revanche le constructeur sans arguments puis la méthode start() de l'applet sont invoquées. Pour que du code marche a la fois en applet et en standalone, il faut bricoler un peu (d'ou la raison d'être de l'appletviewer du jdk).

  Maintenant, même si tu convertis ce code en applet, ca déclenchera une violation de sécurité. Pour ouvrir la permission il te faut créer un policy file (http://java.sun.com/j2se/1.4.2/docs/gui … Files.html), l'inclure dans un .jar, signer ce .jar et accepter les avertissements liés a l'authenticité de la signature.

  Détails mis a part, pourquoi voudrais-tu lancer un exec depuis un browser ? si la sécurité java est comme elle est c'est pour de nombreuses raisons fort pertinentes, la solution que tu décris présente de nombreux dangers. Il y a certainement une manière différente d'arriver au résultat que tu souhaites obtenir...

++
BOFH

Hors ligne

 

#7 17 Aug 2005 15:11:40

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Applet Java et IE/FF [résolu]

Salut,
   Merci pour l'explication cohérente de l'erreur.
A+


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#8 17 Aug 2005 18:12:31

WaVeR
Gourou(e) du libre
Lieu: Biel-Bienne
Date d'inscription: 08 Oct 2004
Messages: 531
Site web

Re: Applet Java et IE/FF [résolu]

Le but est de pouvoir lancer un .exe a partir du browser en utilisant JAVA, certe c'est un risque au niveau de sécurité mais bon yikes.

Je vais voir le lien concernant la securité JVM afin de pouvoir crée le .jar


There's no place like 127.0.0.1

Hors ligne

 

#9 17 Aug 2005 19:50:58

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: Applet Java et IE/FF [résolu]

Mais qui voudrait lancer un exe sur la machine locale a partir d'un browser ? un utilisateur clique sur un lien et du code s'exécute sur la machine ? dangereux, dangereux...

Si c'est pour lancer par un utilisateur final, pourquoi spécialement par java ? si c'est pour automatiser, tu peux peut-être essayer d'utiliser la RMI java, ou même inetd...

Hors ligne

 

#10 17 Aug 2005 20:01:43

WaVeR
Gourou(e) du libre
Lieu: Biel-Bienne
Date d'inscription: 08 Oct 2004
Messages: 531
Site web

Re: Applet Java et IE/FF [résolu]

Parcequ'il y'aura encore une autre partie pour une gestion du .exe via le web. Pourquoi Java? c'est le seul a pouvoir faire ceci en sachant qu'il y aucun soucis avec IE et FF.


There's no place like 127.0.0.1

Hors ligne

 

#11 17 Aug 2005 20:11:07

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: Applet Java et IE/FF [résolu]

Si c'est juste pour exécuter du code sur une machine cliente, sans intervention directe de l'utilisateur, jette sérieusement un coup d'oeil sur la RMI java. Avec un appel de méthode sur un objet distant, tu peux éxecuter du code arbitraire, son téléchargement est automatisé et la sécurité java est toujours active.

Sinon, considère d'écrire l'application elle-même en Java si c'est possible, ça aura l'avantage d'être cross-platform, et les performances comme le langage ont fait plusieurs progrès depuis Java 1.

Si c'est pour une application black-hat, Java n'est certainement pas la meilleure technologie. Les avertissements concertant les violations de sécurité sont bcp plus chiantes que ceux d'un certificat ssl non valide,  par exemple.

Hors ligne

 

#12 17 Aug 2005 20:34:21

WaVeR
Gourou(e) du libre
Lieu: Biel-Bienne
Date d'inscription: 08 Oct 2004
Messages: 531
Site web

Re: Applet Java et IE/FF [résolu]

En parlant d'une machine cliente tu parles d'une machine sur le réseau? Car ce que je sais sur le RMI c'est qu'il faut un serveur et un client. Tantdit que moi je parle de l'execution du code sur une machine  locale (tu visites la page html et elle te lance l'application gedit "par exemple" qui est dans ta machine).


There's no place like 127.0.0.1

Hors ligne

 

#13 17 Aug 2005 21:36:07

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: Applet Java et IE/FF [résolu]

Le RMI marche aussi en local, bien sur; tu peux avoir un programme serveur et un programme client sur la même machine. Mais, si c'est pas pour faire du réseau, quel intérêt de lancer un exe depuis un browser ? tu veux faire une interface de navigation de bureau cross-platform ?

Hors ligne

 

#14 17 Aug 2005 22:12:06

WaVeR
Gourou(e) du libre
Lieu: Biel-Bienne
Date d'inscription: 08 Oct 2004
Messages: 531
Site web

Re: Applet Java et IE/FF [résolu]

en qlq sorte oui


There's no place like 127.0.0.1

Hors ligne

 

#15 11 Oct 2005 15:41:50

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Applet Java et IE/FF [résolu]

Hello,
   un site sur java: http://perso.wanadoo.fr/jm.doudoux/.
   Au fait, vous connaissez java web start : http://perso.wanadoo.fr/jm.doudoux/java … hap029.htm.

Bonne fin de journée.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

Pied de page des forums

Powered by FluxBB