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

Langage PHP Discussion :

[Système] Exécuter mutt à la soumission d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" value="Envoyer" <?php exec("/plandenum/attribution/./scriptmail")?>>

    merci d'avance pour vos reponse

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    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 ./

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Quel est le chemin du script de mail par rapport à la page ?
    Parce que là, avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '/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 ...

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Tu peux aussi indiquer un chemin relatif (donc sans le / initial), comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    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 !!!

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Ah, c'est pour ça. Pas moyen de changer son propriétaire, d'ajouter apache dans son groupe avec des droits d'exécution?

  9. #9
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    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 .....

  10. #10
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    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 : 920
    Points : 606
    Points
    606
    Par défaut
    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.

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

Discussions similaires

  1. [Système] Exécution winamp
    Par patblt dans le forum Langage
    Réponses: 10
    Dernier message: 10/04/2007, 17h45
  2. Réponses: 5
    Dernier message: 24/07/2006, 20h17
  3. Réponses: 2
    Dernier message: 10/11/2005, 20h00
  4. Réponses: 7
    Dernier message: 20/10/2005, 20h51
  5. [JSP]Problème de double soumission d'un formulaire
    Par jgfa9 dans le forum Servlets/JSP
    Réponses: 31
    Dernier message: 24/08/2005, 11h54

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