Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 22/05/2008, 15h37   #1
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 103
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 103
Points : 37
Points : 37
Par défaut [Système] Exécuter mutt à la soumission d'un formulaire

bonjour,


j'eesaye d'execute un script shell linux au moment de l'envois du formulaire dans mysql.

mutt est un clien leger pour envoyer des mails.

est ce que cette syntaxe est bonne ? :

Code :
<input type="submit" value="Envoyer" <?php exec("/plandenum/attribution/./scriptmail")?>>

merci d'avance pour vos reponse
boubourse92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 16h35   #2
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
Bonjour.
Non.
Un formulaire est destiné uniquement à soumettre une requête (ou plus clairement à transférer des variables).
donc, tu transfert ta variable par Gget / post, soit vers une page spéciale, soit vers la même page (cas ici)
Code :
1
2
3
4
5
6
7
8
9
10
 
<?php 
if(isset($_POST['envoyer']))
	{
		exec("/plandenum/attribution/./scriptmail");
		}
?>
<form method='post' action='<?php echo $_SERVER['PHP_SELF'] ?>'>
<input type='submit' name='envoyer' value='Envoyer' />
</form>
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h32   #3
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 103
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 103
Points : 37
Points : 37
merci pour ta reponse et le code j'aurais jamais trouver .

par contre il execute bien les requete vers mysql mais pour le script pas moyen je recois pas de mail

j'ai execute le scripte en local il fonctionne

aparement dans le exec il ne faut pas mettre de ./
boubourse92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 19h09   #4
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
Quel est le chemin du script de mail par rapport à la page ?
Parce que là, avec
Code :
'/plandenum/attribution/./scriptmail'
tu indiques un chemin absolu, et je ne pense pas qu'il y ait un chemin absolu comme ça sous un linux ...
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 12h00   #5
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 103
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 103
Points : 37
Points : 37
oui je n'ai pas mis le chemin complet dans le post en faite il est dans var / ......

je le met en entier dans la commande exec :

Code :
exec('plandenum/attribution/scriptmail');
comme j'ai rendu le script exécutable et que je met le chemin absolu, je n'est plus besoins du ./

apparemment j'aurais peut être un problème de droit avec l'utilisateur apache

il faut que je le rende OWNER du script ?

il faudrait que je sache quel user est utilisé quand je suis dans mes pages php pour faire le exec , est ce que c'est l'utilisateur apache ?
boubourse92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 13h08   #6
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
Tu peux aussi indiquer un chemin relatif (donc sans le / initial), comme
Code :
plandenum/attribution/scriptmail
, enfin, à personnaliser, même s'il vaut mieux indiquer un chemin absolu.

L'utilisateur dépend de ta config. Si ton php est en module (mod_php), c'est bien apache. Tu peux le rendre propriétaire, ou membre du groupe.

Pour être sur de l'utilisateur, utilise la fonction fileowner(),qui te donne l'id de l'utilisateur en cours. Puis, si tu veux 'traduire' l'id tu le passe à posix_getpwuid(int $id) qui te retournera un tableau contenant tout ce dont tu as besoin sur l'utilisateur.
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 13h28   #7
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 103
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 103
Points : 37
Points : 37
tout appartient a l'user apache j'ai verifier direct dans httpd.conf et tout les droit des fichiers et repertoires

il faut peut etre que j'utilise sudo parce que muut( envois mail ) ne peut etre execute quand root ....

ca commence a me gonflé cette histoire de droit !!!
boubourse92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 14h07   #8
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
Ah, c'est pour ça. Pas moyen de changer son propriétaire, d'ajouter apache dans son groupe avec des droits d'exécution?
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 15h43   #9
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 103
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 103
Points : 37
Points : 37
si c'est fait mais ca ne marche toujours pas , comme c'est uin serveur de prod , les droit son tres tres tres restreint avec un script de durcicement.

donc je me demande si un user comme apache meme avec les droits a le droit d'excuté une commande .....
boubourse92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2009, 12h55   #10
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Bonjour,
je vois dans la conversation est marquée comme résolue.
Est-ce le cas ? Comment utiliser exec(mutt ... alors qu'il faut les privilèges root pour exécuter mutt ?
Y'a un contournement ?

Mais d'ailleurs ... est-bien la bonne cause ?

exec("whois google.com") s'exécute bien et pourtant whois a les privilèges root ...

D'avance, merci pour les infos.
__________________
Cordialement,
Christophe Charron
Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature .
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h25.


 
 
 
 
Partenaires

Hébergement Web