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 Perl Discussion :

Probléme commande shell dans script perl


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 15
    Points
    15
    Par défaut Probléme commande shell dans script perl
    Bonjour tout le monde !

    Donc voila j'ai un petit souci en perl. Je travaille sur un serveur SME, sur le module zarafa pour être précis. Lors d'un affichage je recupére le nom d'un utiliateur que j'envoie vers une autre fonction perl. Jusque la pas de souci.

    Le souci vien quand je veu l'utiliser pour récupéré le nom complet de l'utilisateur afin de l'afficher pour préremplir un champ de texte en vue d'une modification.

    Voici le code de la fonction :

    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
    sub modify_users {
     
    	my $self = shift;
    	my $cgi = $self->{cgi};
      	my $recept_user = $cgi->param('actUsr');
    	my $user = `zarafa-admin --details $recept_user | cut -f3 | awk 'NR == 2'|`;
    	print $username;
    	if($username){
    		print "youpi";
    	}
    	else {
    		print "dommage";
    	}
    	my $Emailaddress = 'test@test.test';
     
    	$cgi->param(-name=>'Username', -value=>$recept_user);
    	$cgi->param(-name=>'Fullname', -value=>$username);
    	$cgi->param(-name=>'EmailAddress', -value=>$Emailaddress);
     
     
    return 0;
    }
    Le if et le else ne sont que des petits test que j'avais fait. Donc de se que j'ai remarqué, la fonction s'arréte lors de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $user = `zarafa-admin --details $recept_user | cut -f3 | awk 'NR == 2'|`;
    et j'ai une erreur : "Insecure dependency in `` while running with -T" dans el log.

    Je précise que j'ai essayé de lancer la commande dans le shell, sa fonctionne parfaitement, je récupére se qu'il me faut. J'ai également écrit un petit script contenant seulement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/usr/bin/perl -w
     
     use strict;
     use warnings;
     
    	my $recept_user = `zarafa-admin -l | cut -f2 | awk 'NR == 5'`;
    	chomp $recept_user;
    	my $test = `zarafa-admin --details $recept_user | cut -f3 | awk 'NR == 2'`;
    	chomp $test;
    	print $test;
    que j'exécute dans le shell via la commande perl [mon programme] et qui me retourne exactement se que je veux aussi.

    Voila si quelqu'un peut m'aider sa serait gentil^^

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Lis la doc :
    Insecure dependency in %s

    (F) You tried to do something that the tainting mechanism didn't like. The tainting mechanism is turned on when you're running setuid or setgid, or when you specify -T to turn it on explicitly. The tainting mechanism labels all data that's derived directly or indirectly from the user, who is considered to be unworthy of your trust. If any such data is used in a "dangerous" operation, you get this error. See perlsec for more information.
    (extrait de perldiag, rajouter "use diagnostics;" dans ton code te donne la même explication du message d'erreur directement)

    Ce qui te dirige donc vers perlsec, où tu auras une explication détaillé du mode tainted, ses avantages et comment contourner sa protection.

    --
    Jedaï

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Merci bien, étant débutant en Perl je ne connaissait pas cet sécurité, le probléme est résolu. Merci encore d'avoir pris du temps à me répondre ^^

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 26/07/2010, 08h59
  2. Problème de script Bash dans script Perl
    Par Aviator dans le forum Langage
    Réponses: 3
    Dernier message: 03/01/2008, 20h50
  3. commande awk dans script perl
    Par sorilazer dans le forum Langage
    Réponses: 3
    Dernier message: 19/07/2007, 10h16
  4. commande shell dans un programme
    Par diefo dans le forum C
    Réponses: 3
    Dernier message: 15/08/2003, 13h37
  5. [langage] awk et sed dans script perl
    Par scoti dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2003, 18h26

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