Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/03/2012, à 19:11

Arbiel

Comment lancer une commande à partir d'une page web

Bonsoir à tous

Je me demande s'il est possible de lancer une commande à partir d'une page Web, et dans l'affirmative, comment il faut faire.

Les demandes d'aides souffrent souvent d'un manque d'informations. La possibilité de lancer automatiquement des commandes telles que "sudo blkid", ou "sudo fdisk -lu" permettrait d'introduire ces informations automatiquement dans le message lors de la création de la discussion, avec comme avantages la diminution à la fois de la charge de travail et du délai de résolution des situations.

Arbiel

Dernière modification par Arbiel (Le 28/03/2012, à 19:11)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#2 Le 28/03/2012, à 20:44

Spitfire 95

Re : Comment lancer une commande à partir d'une page web

Il existe des handlers pour plusieurs protocoles : mail, magnet, apt (si tu veux proposer de télécharger simplement des paquets (la doc le propose mais le forum ne doit pas en être équipé))... Mais terminal non (et ça pourrait être une vulnérabilité du navigateur si c'était possible, imagine que tu envois un rm -rf ./ : adieu les documents !
La balise code reste donc mieux, et de plus elle permet de faire comprendre à l'utilisateur ce qu'il fait, ce qui peut l'aider plus tard (j'aurais mit bien plus longtemps à maîtriser la plupart des commandes de base si elles ne s'affichaient pas mais étaient exécutées toute seules).


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#3 Le 29/03/2012, à 07:57

serged

Re : Comment lancer une commande à partir d'une page web

Ben si...

Tout simplement, via une commande CGI ou bêtement en PHP avec la fonction shell_exec() (ou shell() ou exec() ).

Exemple avec exec() :

<?php
$ip=getenv("REMOTE_ADDR") ;
if (getenv("HTTP_X_FORWARDED_FOR") != "")
       $ip = getenv("HTTP_X_FORWARDED_FOR");

$x = shell_exec("traceroute -w 5 $ip") ;
echo"<p>Un traceroute chez vous :</p><pre>$x</pre>" ;

?>

Il existe même des implémentations de shell en web: par exemple WebShell.


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#4 Le 29/03/2012, à 09:00

Arbiel

Re : Comment lancer une commande à partir d'une page web

Bonjour

Merci serged. Même si je ne sais pas utiliser, je sais que cela existe, ce qui me permet maintenant de réfléchir à l'usage que je pourrais en faire. Je verrai ensuite pour la mise en oeuvre.

Par ailleurs, je comprends bien la réticence de Spitfire95, que je remercie également de m'avoir ouvert les yeux sur les dangers de cette possibilité.

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#5 Le 29/03/2012, à 17:16

Spitfire 95

Re : Comment lancer une commande à partir d'une page web

Les fonctions PHP c'est pour des commandes côté serveur, or si j'ai bien compris ce serait exécuter des commandes côté client l'objectif donc via PHP ce n'est pas possible.


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#6 Le 29/03/2012, à 18:53

Arbiel

Re : Comment lancer une commande à partir d'une page web

Bonjour

Ce que je conçois, c'est que la commande soit exécutée côté client. C'est bien ce que tu as compris en me montrant le danger d'une telle opération avec la commande "rm -rf ./".

Alors, si je reprends l'exemple donné par serged, dont je ne comprends le code qu'approximativement, ne veux-tu pas dire que l'utilisateur va voir s'afficher dans la page qu'il visionne la route du serveur vers le PC (exécution de traceroute sur le serveur) et non du PC vers le serveur (exécution de traceroute sur le PC utilisateur), qui est ce que je cherche à faire ?

Qu'en est-il alors des solutions CGI et WebShell dont parle serged et que je n'ai pas encore eu le temps d'étudier ?

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#7 Le 30/03/2012, à 08:11

serged

Re : Comment lancer une commande à partir d'une page web

Dans mes exemples: La commande se passe du côté serveur. Dans mon exemple de traceroute, c'est le serveur qui exécute le traceroute entre le serveur et le client. Le cas de WebShell, c'est un shell exécuté sur la machine serveur également : un peu comme si tu faisais un ssh vers le serveur. L'intérêt est que ça fonctionne à partir de n'importe quel client (comme une tablette qui n'a pas de commande ssh).

Pour exécuter des commandes côté client c'est (pratiquement) impossible. Il y a trop problèmes de sécurité. Les seuls traitements qui se passe côté client ce sont les javascript, les applis Flash, les applets Java... qui sont très encadrés par le navigateur et les plugins.

Les applets Java (et les ActiveX, mais ça ne se passe pas sous Linux) peuvent "faire plus" mais doivent demander explicitement l'autorisation à l'utilisateur. Exemple : Les antivirus en ligne (Java ou ActiveX) et Windows Update (ActiveX).


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#8 Le 30/03/2012, à 17:22

Arbiel

Re : Comment lancer une commande à partir d'une page web

Bonjour

Très bien. Spitfire 95 et serged, vous me semblez tout à fait d'accord.

Et c'est bien côté client que je voudrais exécuter les commandes. Qu'il faille demander l'autorisation de l'utilisateur ne me semble pas rédhibitoire, au contraire, puisque c'est un élément essentiel de sécurité.

Mes questions deviennent donc

les javascript, les applis Flash, les applets Java peuvent-ils invoquer des commandes GNU/Linux et cela est-il difficile à réaliser ?

Ensuite, la question sera plus "politique" : est-ce trop dangereux ?

Merci encore pour vos réponses.

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#9 Le 30/03/2012, à 17:30

Spitfire 95

Re : Comment lancer une commande à partir d'une page web

Flash serait une idée absurde puisque bientôt indisponible sous Linux, et voué à mourir au profit du HTML5.
Java... Berk ! J'en veux pas chez moi ! Et niveau compatibilité, ce n'est pas installé par défaut (si on coche la case pour les logiciels supplémentaires restreints il s'installe sinon c'est manuel) donc pas super.
En JavaScript je n'ai aucune idée de la façon de faire, mais au moins c'est très compatible (rare sont ceux qui le désactivent).


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#10 Le 30/03/2012, à 19:08

Arbiel

Re : Comment lancer une commande à partir d'une page web

Merci pour ces informations.

Le fait qu'il faille cocher une case pour activer Java ne me paraît pas non plus rédhibitoire, puisque c'est une mesure de sécurité supplémentaire.

Flash devant être abandonné au profit de HTML5, est-ce possible en HTLM5 ?

Mais ma question sur la difficulté de réaliser cette fonction portait sur l'écriture du code, et non sur la simplicité, pour l'utilisateur, de mettre en oeuvre les mécanismes nécessaires à l'exécution du code.


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#11 Le 30/03/2012, à 19:12

Spitfire 95

Re : Comment lancer une commande à partir d'une page web

HTML5 reste un langage de balisage des pages, pour l'apparence, donc non pas directement, c'est toujours javascript qu'il faut utiliser.


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#12 Le 05/04/2012, à 08:45

Arbiel

Re : Comment lancer une commande à partir d'une page web

Bonjour

Je vais essayer javascript, en m'aidant du cours de W3School. Quelqu'un peut-il me recommander une autre source d'informations ?

Quelqu'un peut-il aussi m'indiquer comment je peux faire exécuter la commande
"sudo blkid"
c'est-à-dire :
lancer la commande
demander le mot de passe et le retransmettre au GNU/Linux

D'avance, merci pour ces informations complémentaires.

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#13 Le 05/04/2012, à 11:57

AnsuzPeorth

Re : Comment lancer une commande à partir d'une page web

Bjr,
Je pense pas que ce soit possible en JS. (mais je peux me tromper !)

Le seul moyen qui me viendrait a l'esprit, c'est que le navigateur de l'user soit regler pour ouvrir un certain type de fichier (shell ou autre) pour récup ces infos et envoyer une requête.

Mais il faudra avoir confiance au script lancé depuis le site ... Perso, je ne le ferais pas !

Sinon, ben faut une application dédiée, chez le client.

Pour le site w3school, c'est le must (c'est la référence), sinon, le site du zéro n'est pas trop mal fait non plus, en francais celui là.


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne