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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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.

Discussions similaires

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

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