IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Exécuter une application à partir d'une page en html


Sujet :

HTML

  1. #1
    yann.frm
    Invité(e)
    Par défaut Exécuter une application à partir d'une page en html
    Bonjour,

    N'ayant pas de grandes connaissances en html, je cherche à exécuter une application à partir d'une page web.
    Grosso modo, je veux créer une page web avec plusieurs liens et associer un lien à une application.
    lien1 -> appli1
    lien2 -> appli2

    Je sais qu'au niveau sécurité ce n'est pas extraordinaire mais ce problème ne se pose pas pour ce que je veux en faire.

    Je précise que je travaille sur une distribution Centos sous GNOME avec Firefox.

    A l'origine, je pensais attribuer une extension à une application via "Préférences de Firefox/Applications" mais ça ne fonctionne pas très bien. De plus, l'édition du fichier mimeTypes.rdf ne semble pas suffire...

    Merci de votre aide, je suis preneur de toutes vos idées !


    edit : faute d'orthographe
    Dernière modification par yann.frm ; 22/09/2010 à 09h39.

  2. #2
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 372
    Points
    2 372
    Par défaut
    Bonjour yann.frm,

    il y a un tutoriel assez complet pour débuter en HTML à l'adresse suivante :
    http://j-willette.developpez.com/tut...bases-du-html/

  3. #3
    yann.frm
    Invité(e)
    Par défaut
    Citation Envoyé par polymorphisme Voir le message
    il y a un tutoriel assez complet pour débuter en HTML à l'adresse suivante :
    http://j-willette.developpez.com/tut...bases-du-html/
    Merci de ce lien mais je ne trouverai pas cette information dans ce tutoriel. Je viens de parcourir les sections qui m'intéressent le plus et pas de trace de ce que je veux faire...

    Merci tout de même !

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Je sais qu'au niveau sécurité ce n'est pas extraordinaire mais ce problème ne se pose pas pour ce que je veux en faire.
    Ben si, le problème se pose quand même parce qu'il ne suffit pas de se dire qu'on est gentil pour ouvrir une faille de sécurité dans un navigateur. Donc le navigateur ne fait à priori pas de différence entre tes louables intentions et celles de ton voisin qui voudra peut-être lancer un batch de formatage de disque par exemple

  5. #5
    yann.frm
    Invité(e)
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Ben si, le problème se pose quand même parce qu'il ne suffit pas de se dire qu'on est gentil pour ouvrir une faille de sécurité dans un navigateur. Donc le navigateur ne fait à priori pas de différence entre tes louables intentions et celles de ton voisin qui voudra peut-être lancer un batch de formatage de disque par exemple
    Merci de ces bons conseils...

    J'ai trouvé une solution tout à fait satisfaisante d'un point de vue fonctionnalité et sécurité. Pour ce dernier point, je ne vois pas du tout de trou de sécurité d'ailleurs...

    Merci de vos aide et conseil !

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    Citation Envoyé par yann.frm Voir le message
    J'ai trouvé une solution tout à fait satisfaisante d'un point de vue fonctionnalité et sécurité.
    Je dois t'avouer que j'aimerais la connaître. Histoire de rester ouvert aux possibilités.

    Citation Envoyé par yann.frm Voir le message
    Pour ce dernier point, je ne vois pas du tout de trou de sécurité d'ailleurs...
    Ce qui est totalement décorrélé de l'absence ou de l'existence d'une faille de sécurité.

    Maintenant, bon, on peut imaginer une extension firefox, qu'on ne déploie que dans son entreprise à soi, qui permet de lancer certaines applications choisies, et uniquement si c'est des pages de confiance qui le demandent. Une telle chose ferait ce qui est demandé, et n'est pas une faille de sécurité en soi.
    C'est concevable, donc.

  7. #7
    yann.frm
    Invité(e)
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Je dois t'avouer que j'aimerais la connaître. Histoire de rester ouvert aux possibilités.
    Oui, je mets ci-dessous la solution testée. Désolé d'ailleurs de ne répondre que maintenant. Je n'avais pas vu le mail de notification provenant de ce site.

    Citation Envoyé par thelvin Voir le message
    Ce qui est totalement décorrélé de l'absence ou de l'existence d'une faille de sécurité.

    Maintenant, bon, on peut imaginer une extension firefox, qu'on ne déploie que dans son entreprise à soi, qui permet de lancer certaines applications choisies, et uniquement si c'est des pages de confiance qui le demandent. Une telle chose ferait ce qui est demandé, et n'est pas une faille de sécurité en soi.
    C'est concevable, donc.
    L'idée n'est pas de passer par une extension firefox (j'imagine que tu parles de plugin ?) mais plutôt sur l'exploitation du comportement de firefox lorsqu'il tombe sur un fichier avec une extension de fichier un peu particulière (voir mime et cie).
    Ce n'est pas très clair ?
    Ok, voici la démarche alors. J'espère que ce sera plus net ensuite.

    Tout d'abord, ce test a été mené sur une machine sur laquelle a été installée une Centos 5.4. A priori, ce qui suit peut être effectué sur n'importe quelle distribution Linux (ou BSD).

    1. Modification du fichier /etc/mime.types. Ajout de la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application/x-extperso                extperso
    2. Création des fichiers /tmp/appli1.extperso et /tmp/appli2.extperso.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    # touch /tmp/appli1.extperso /tmp/appli2.extperso
    Ou ailleurs bien sûr puisque ce répertoire n'est pas le meilleur endroit où stocker ces fichiers. Pour le test j'ai créé les fichiers dans /tmp. Des fichiers vides suffisent puisque c'est l'extension et le nom du fichier ici qui sont importants, pas le contenu.

    3. Création du script exec.sh (situé dans /usr/bin/ dans exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    #!/bin/sh
     
    arg=$(basename $1)
    case $arg in
        appli1.extperso)
            exec xterm &
            break
        ;;
     
        appli2.extperso)
            exec emacs-x &
            break
        ;;
    esac
     
    exit 0
    Script fait à la va-vite donc pas forcément nickel mais l'idée est là.
    L'avantage est que cette méthode ne permet pas de lancer n'importe quoi. La sécurité se fait au niveau filesystem.
    L'idée est que ce script soit lancé lorsque l'utilisateur clique sur le lien (exemple donné au point 5.).

    4. Côté Firefox : modification du fichier par défaut mimeTypes.rdf (/usr/lib64/firefox-3.6/defaults/profile/mimeTypes.rdf) ou modification du fichier ~/.mozilla/firefox/xxxxxxxx.default/mimeTypes.rdf si le compte est déjà créé (et que FF a déjà été lancé)
    La modification du fichier mimeTypes.rdf par défaut permet de répercuter la modification pour chaque création de comptes.
    A ajouter (enfin... c'est un fichier au format xml donc à ajouter au bon endroit !) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    (...)
      <RDF:Seq RDF:about="urn:mimetypes:root">
        <RDF:li RDF:resource="urn:mimetype:application/x-extperso"/>
      </RDF:Seq>
     
      <RDF:Description RDF:about="urn:mimetype:application/x-extperso"
                       NC:value="application/x-extperso"
                       NC:editable="true"
                       NC:fileExtensions="extperso"
                       NC:description="">
        <NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-extperso"/>
      </RDF:Description>
     
      <RDF:Description RDF:about="urn:mimetype:handler:application/x-extperso"
                       NC:alwaysAsk="false"
                       NC:saveToDisk="false"
                       NC:useSystemDefault="false"
                       NC:handleInternal="false">
        <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/x-extperso"/>
      </RDF:Description>
     
      <RDF:Description RDF:about="urn:mimetype:externalApplication:application/x-extperso"
                       NC:path="/usr/bin/exec.sh"
                       NC:prettyName="exec.sh" />
      <RDF:Description RDF:about="urn:schemes">
    (...)
    5. Tester le fonctionnement à l'aide de cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <title>Test</title>
    </head>
    <body bgcolor="#FFFFFF">
    <p>
    <a href="file:///tmp/appli1.extperso"> Lancement de xterm </a>
    <p>
    <a href="file:///tmp/appli2.extperso"> Lancement de Emacs </a>
    </body>
    </html>
    6. A présent, lorsque tu cliques sur Lancement de xterm, il lance un xterm. Idem pour emacs. L'avantage est que l'on peut exécuter n'importe quelle application ainsi.

    L'objectif initial n'est pas de l'utiliser sur le PC de "monsieur tout le monde" mais sur un réseau d'entreprise. Alors bien sûr il y a peut-être une faille quelque part mais je n'en vois pas.

    Un des problèmes porterait sur l'exploitation du script exec.sh mais à ce niveau là, la protection se fait au niveau système de fichiers.

    Ensuite, il est vrai que l'utilisateur peut modifier dans les préférences l'application ou le script à lancer lorsque le navigateur rencontre un fichier avec cette extension. Peut-être y a-t-il moyen de sécuriser cette possibilité en modifiant les droits sur mimeTypes.rdf (le mettre en lecture seule par exemple).

    Voilà pour l'explication ! J'espère avoir été plus clair.
    N'hésite pas à me donner ton avis...

    Bonne journée.

    Cordialement,


    Yann

  8. #8
    yann.frm
    Invité(e)
    Par défaut
    Citation Envoyé par yann.frm Voir le message
    Oui, je mets ci-dessous la solution testée.
    (...)
    Personne pour donner un avis sur cette solution ou sur un potentiel problème de sécurité ?

    Cdt,

    Yann

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2012, 09h30
  2. Réponses: 3
    Dernier message: 15/09/2011, 14h38
  3. Réponses: 5
    Dernier message: 22/05/2008, 14h42
  4. Lancer une application à partir d'une application précise.
    Par Faith's Fall dans le forum C++Builder
    Réponses: 2
    Dernier message: 16/01/2007, 18h08
  5. Gérer fenetre tierce d'une application à partir d'une autre
    Par narutobaka dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 07/09/2005, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo