Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/03/2011, 01h39   #1
Invité de passage
 
Homme
Inscription : mars 2011
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 8
Points : 0
Points : 0
Par défaut Exécuter un script shell côté client via php

Bonjour à tous,

ayant des bases suffisantes en HTML/CSS, et m'initiant au PHP, je souhaiterais réaliser un projet en INTRANET, entre deux machines distantes A et B (toutes deux sous linux, A machine côté serveur, B machine côté client), dans lequel:

- une page web index.php est stockée sur la machine A;
- lorsqu'un utilisateur ouvre une session sur la machine B et visite index.php, un script script.sh appelé par index.php (de la machine A) s'exécute sur la machine B ;
- script.sh sera dans le même dossier que index.php, sur la machine A, et visera à créer des fichiers spécifiques pour configurer une application, sur la machine B;
- script.sh n'aura besoin d'aucun argument, si ce n'est des variables d'environnements de (la sessions de) l'utilisateur sur la machine B, telles que $HOME $USER, afin de spécifier les chemins des fichiers à créer.

Je me suis alors posé les questions suivantes :
- tout d'abord, est-ce possible d'exécuter un script shell via php? en regardant divers topics, il m'a semblé que la fonction exec() permettait d'exécuter des commandes du shell (comme ls ou pwd), mais n'était pas adaptée pour lancer un script 'customisé';
- si on peut l'exécuter, comment le faire 'à partir' de la machine A, sur la machine B? Est-ce que le script, sur la machine A, peut récupérer les variables d'environnement de l'utilisateur loggé sous la machine B? Ou bien peut-être faut-il les récupérer dans un premier temps via index.php, puis les passer en argument au script?

J'ai par ailleurs lu de nombreuses fois qu'exécuter un script shell via php restait plutôt dangereux. Je préfère pour le moment laisser de côté l'aspect sécurité. En effet, ce projet ne sortira pas de mes deux machines, et je ne compte pas m'auto-hacker .

Avant de me lancer dans des recherches plus poussées, je souhaiterais surtout connaître vos opinions quant à la faisabilité de ce projet.
Passer des heures à fouiner sur le net ne me dérange en aucun cas, à condition de ne pas chercher pour rien..

Enfin, je suis désolé si, involontairement, certains des termes que j'emploie ci-dessus sont inappropriés ou trop vagues.

Merci à tous pour votre attention,
Heisen.
Heisen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 07h51   #2
Invité de passage
 
Inscription : février 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 10
Points : 3
Points : 3
Citation:
Envoyé par Heisen;5841153J
'ai par ailleurs lu de nombreuses fois qu'exécuter un script shell via php restait plutôt dangereux. Je préfère pour le moment laisser de côté l'aspect sécurité. En effet, ce projet ne sortira pas de mes deux machines, et je ne compte pas m'auto-hacker .
Il me semble que c'est pour des raison de sécurité que ce n'est pas possible. Même si tu ne veux pas t'autohacker, imagine le danger.

Regarde du côté de ssh pour executer ton script depuis une machine distante. il doit exister une API ssh php
gestrad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 18h45   #3
Invité de passage
 
Homme
Inscription : mars 2011
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 8
Points : 0
Points : 0
Merci pour ta réponse, gestrad.
Je vais adapter mon projet en conséquence
Heisen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h13.


 
 
 
 
Partenaires

Hébergement Web