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 :

Chemin de perl pour les nuls


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Par défaut Chemin de perl pour les nuls
    Bonjour la communauté, j'esperes etre au bon endroit pour cette question.

    Je suis en cours de realisation d'un ebook pour permettre a tout un chacun, sans connaissances particulieres, de s'installer un formtomail afin de realiser des formulaires.

    Comme j'ai cru comprendre que le chemin de perl est generalement usr/bin/perl ou usr/bin/local/perl selon les hebergeurs ( voir peut etre d'autre je ne m'y connais pas suffisemment ).

    Je souhaiterais savoir si il existe un petit programe a envoyer sur le serveur ( dans cgi-bin peut etre ) et qui en retour ( en tapant l'url vers ce programme ) permettrais a quiquonque de connaitre precisemment son chemin vers perl ?

    merci d'avance

  2. #2
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 59

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Si tu as accès au serveur, le plus simple (et surtout le plus sûr) est de s'y connecter en ssh depuis un client et de récupérer le résultat de which perl. Si tu as une série de serveurs tu peux automatiser les connexions. Voilà (en gros) comment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/env perl
    use strict; use warnings;
    use Net::OpenSSH;
     
    my @hosts = (
      [ 'your.host.org', 'user', 'p4$$wd' ], 
      [ 'other.host.org', 'user', 'p4$$wd' ], 
    );
    for (@hosts) {
      my $ssh = Net::OpenSSH->new( $_->[0], user => $_->[1], password => $_->[2] );
      print $_->[0], "\t", $ssh->capture( 'which perl' );  
    }
    NB : 1. Il vaut mieux utiliser des clés que des mots de passe. 2. Tu peux aussi utiliser Net::SSH2.

    Le faire avec un script CGI exécutable sur le serveur est une très très mauvaise idée. Il te faudrait ne pas activer le taint mode (le swtich -T des scripts Perl CGI), ce qui ouvre la porte à toutes sortes de vulnérabilité.

    Voici ce qu'il ne faut pas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/usr/bin/env perl -w
    use CGI 'header';
    print header('text/plain');
    print `which perl`;

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Par défaut
    Merci infiniment pour cette reponse, comme tu t'en appercevra rapidement je suis relativement neophyte en perl.

    Comme mon but c'est par le biais d'un ebook de permettre a des vrais neophyte comme moi de trouver le chemin de perl sur leur propre serveur, je n'ai donc pas acces moi meme a tous ces serveurs.

    Donc j'ai cru comprendre qu'il y avait soit la meilleur solution la premiere mais que l'on ne peux pas juste envoyer dans le rep cgi-bin ( y aller par ssh ) et ensuite en pointant sur l'adresse du script avoir les infos.

    Et la seconde a ne surtout pas faire.

    Mais pour la seconde si j'en fait un fichier .pl et qu'une fois mise dans mon rep cgi ( dois je le mettre en chmod 755 ? ) et qu'ensuite je pointe vers ce script, cela me donnera toutes les infos recherchees a savoir surtout le chemin de perl usr/bin/perl ou les autres.

    Si oui il faut donc juste indiquer de le faire pour juste recup les infos et d'immediatement l'enlever du serveur, c'est une soluce ou pas ?

    merci

  4. #4
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 59

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Citation Envoyé par toophigra Voir le message
    Mais pour la seconde si j'en fait un fichier .pl et qu'une fois mise dans mon rep cgi ( dois je le mettre en chmod 755 ? ) et qu'ensuite je pointe vers ce script, cela me donnera toutes les infos recherchees a savoir surtout le chemin de perl usr/bin/perl ou les autres.
    Oui mais c'est surtout ce qu'il ne faut pas faire. Car un script CGI ne doit pas pouvoir accéder à l'exécution système. A moins de savoir exactement ce qu'on fait.

    Si tu peux mettre des fichiers dans le répertoire cgi-bin, c'est que tu as au moins un accès FTP. Si tu as aussi un accès SSH alors logue toi et exécute :

    Si tu veux que des néophytes trouvent le chemin d'accès à Perl sur leur serveur d'hébergement, demande leur de s'addresser à l'admin ou de consulter la doc de l'hébergeur.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Par défaut
    Ok bien compris et encore merci je vais donc m'orienter sur la partie SSh et savoir comment cela fonctionne et si c'est accessible a des non pro et sur la quasi totalite des hebergeur car si je veus pouvoir rendre cet ebook utile au plus grand nombre je dois garde en tete le cote " au plus grand nombre " .

    A moins que tu sois capable de me dire ou trouver ou de me faire un script suceptible de remplir le cote securisé et le cote simple a installer pour des tanches comme moi et comme ceux vers qui cet ebook sera oriente)

  6. #6
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 59

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Si je comprends bien tu es en train d'écrire un livre où tu expliques à tes lecteurs comment réaliser un formulaire web pour que les visiteurs du site puissent entrer en contact avec le webmwaster. Est-ce bien ça ?

    Et j'imagine que ta recette est en PHP, mais qu'elle fait appel à Perl pour le mailer, ou quelque chose du genre. Donc tu as besoin de dire à tes lecteurs comment trouver le chemin du Perl sur le serveur de l'hébergeur.

    Donc je te conseille de dire :

    1. Demandez à votre hébergeur ou consulter la documentation qu'il met à votre disposition pour savoir quel Perl est installé et quel est son chemin d'accès.

    NB : Sur beaucoup de serveurs le shebang sera de peu d'utilité en fait. On peut aussi utiliser un shebang en #!/usr/bin/env perl (mais le résultat n'est jamais garanti).

    2. Tu peux proposer une variante du script Perl CGI que j'ai donné plus haut (avec le taint mode activé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/usr/bin/env perl -wT
    use CGI 'header';
    $ENV{'PATH'} = '/bin:/usr/bin:/usr/local/bin';
    print header('text/plain');
    print `which perl`;
    Il est possible d'utiliser l'autre (sans taint et donc sans avoir besoin de d'expliciter où les commandes doivent être cherchés) mais alors il faut faire très attention que le scirpt ne soit pas modifié pour accepter des paramètres ou des données extérieures.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Par défaut
    Bonjour, oui tu as bien compris ce que je souhaites faire. Et non rien de php dedans je vais simplement faire cet ebook pour expliquer au gens comment utiliser le script de matts wright " formtomail " donc pas de php que du perl ou cgi je les confond toutes les deux lol.

    Donc je penses qu'en leur expliquant qu'en regle generale il y a soit usr/bin/perl ou usr/local/bin/perl je devrais couvrir une grande partie des utilisateur mais je voulais ettoffer un peu cet ebook en leur permettant, si ils ne sont pas dans la majorite, comment aller chercher le chemin de perl.

    J'avais bien pense leur dire de voir avec leur hebergeur mais tu sais comme moi que les gens sont peu patient et que les hebergeur ne repondent pas de suite forcement et pour finir je voulais que cet ebook leur permette de vraiment se debrouiller seuls.

    Salut

Discussions similaires

  1. PERL pour les nuls
    Par Snatch77 dans le forum Langage
    Réponses: 32
    Dernier message: 08/04/2014, 17h03
  2. Réponses: 6
    Dernier message: 06/11/2005, 12h10
  3. C++ pour les nuls => Linux => Problème
    Par wizardman dans le forum Linux
    Réponses: 6
    Dernier message: 21/09/2005, 01h53
  4. Apprendre le réseau (pour les nuls)
    Par __fabrice dans le forum Développement
    Réponses: 5
    Dernier message: 08/03/2005, 14h49
  5. Réponses: 6
    Dernier message: 28/09/2004, 17h47

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