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 :

[Tableaux] Taper du texte sous DOS.


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 25
    Points : 20
    Points
    20
    Par défaut [Tableaux] Taper du texte sous DOS.
    Salut,

    Je code une appli en PHP sous Windows (DOS en fait) et l'appli se connecte à différents serveurs pour récupérer les infos.
    Ca marche!

    Sauf que le chef, il est pas content, il veut pas que le mots de passe soit écrit en dur dans un fichier XML, il veut devoir les taper au clavier...

    On peut lire ou pas ce qui est tapé au clavier en PHP ?

    Merci,
    Vincent.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben la !

    c est un php en ligne de commandes que tu lances ?

    a ce moment la ca peut etre un param de la ligne de commande, sinon je vois pas
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Oui, en fait le programme PHP est lancé par un fichier .bat qui contient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    php\php get_Infos.php
     
    pause
    Tout simplement...et ca se lance dans une console DOS...et ca génére des fichiers XML contenant les infos serveurs UNIX...

    Peut-être du côté de PHP-Gtk, mais je connais pas du tout

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Y en a qui disent ça en anglais:
    Anyone know of functions or libraries to handle keyboard input? I've
    been using fopen("/dev/stdin","r") and fread($fp,...), but that isn't
    the greatest thing around...
    Mais y a pas de /dev/stdin sous windows...

  5. #5
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben si tu passe le pass au bat qui ensuite le transmet a php ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    OK!

    Je m'auto-re-réponds

    Y a ca de possible (sous windows) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      $fp = fopen("con", "rt");
      $buf= fread($fp, 9);
      fclose($fp);
      echo "result=$buf";
    Si tu tapes disons 15 caractères puis ENTREE, ca va t'afficher les 9 premiers caractères tapés...Donc à la place du 9 dans "$buf= fread($fp, 9);" il faudrait préciser l'exception "ENTREE"...

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 76
    Points : 76
    Points
    76
    Par défaut
    sinon, le passage en paramètre au fihcier bat devrait être pas mal...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #get_Infos.bat
    php\php get_Infos.php pass=$1
    pause
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\get_Infos.bat password
    Sinon, il doit y avoir moyen de lire une donnée du clavier depuis le fichier BAT et le passer à l'execution du script php

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Cadeau :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    ~{8} php
    <?php
     
    set_time_limit(0);
    @ob_end_flush();
    ob_implicit_flush(true);
     
    class prompt {
      var $tty;
     
      function prompt() {
       if (substr(PHP_OS, 0, 3) == "WIN") {
         $this->tty = fOpen("\con", "rb");
       } else {
         if (!($this->tty = fOpen("/dev/tty", "r"))) {
           $this->tty = fOpen("php://stdin", "r");
         }
       }
      }
     
      function get($string, $length = 1024) {
       echo $string;
       $result = trim(fGets($this->tty, $length));
       echo "\n";
       return $result;
      }
    }
     
    echo "Enter something or 'exit' to quit\n";
    do {
      $cmdline = new prompt();
      $buffer = $cmdline->get("Something: ");
      echo "You said: $buffer\n";
    } while ($buffer !== "exit");
    echo "Goodbye\n";
     
    ?>
     
    Content-type: text/html
    X-Powered-By: PHP/4.3.11
     
    Enter something or 'exit' to quit
    Something: Je tape ce que je veux y compris un mot de passe !!!
     
    You said: Je tape ce que je veux y compris un mot de passe !!!
    Something: exit
     
    You said: exit
    Goodbye
     
    ~{9}
    sachant que ~{8} est mon prompt

    PS: trouvé en commentaire de readline()

  9. #9
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 76
    Points : 76
    Points
    76
    Par défaut
    C'est sympa comme tout ce bout de code !!!

  10. #10
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    faut toujours qu il arrive avec la solution lui :p
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Oui c'est LE code qui vaut son pesant d'or!
    J'ai juste eu à changer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         if (!($this->tty = fOpen("/dev/tty/", "r"))) {
           $this->tty = fOpen("php://stdin", "r");
         }
    en:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         $this->tty = fOpen("con", "r") ;


    Bon, je vais pas faire le chieur en disant: Mais euuuh, le mot de passe va être visible en clair alors que normalement il y a des "***", mais là, le chef il avait pas précisé non plus.

    Thanks to ALL...

  12. #12
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben sinon tu lui dis de coder la commande cmd de win pour qu il lui mette des *
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  13. #13
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut

    Et ça c'est quoi ? Ca marche pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
       if (substr(PHP_OS, 0, 3) == "WIN") {
         $this->tty = fOpen("\con", "rb");
       } else {

  14. #14
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 76
    Points : 76
    Points
    76
    Par défaut
    Heu... en chargeant une nouvelle table de caractères avant l''execution du prompt et remettre la table de caractère par défaut après ?

    Quoi? c'est pas si tiré par les cheveux que ca... !

  15. #15
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ouais pi si y a un cheval de troie qui test le changement de table de char einh ?

    non mais t y a pensé.

    le mieux je dis c est que tu lui code une appli telepathe qui lise le pass dans tes pensées
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  16. #16
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par Mr N.

    Et ça c'est quoi ? Ca marche pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
       if (substr(PHP_OS, 0, 3) == "WIN") {
         $this->tty = fOpen("\con", "rb");
       } else {

    Sisi, ca marche...
    Mais j'utilise pas le "\" je mets juste "fOpen("con", "rb");"

  17. #17
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 76
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par siddh
    ouais pi si y a un cheval de troie qui test le changement de table de char einh ?

    non mais t y a pensé.

    le mieux je dis c est que tu lui code une appli telepathe qui lise le pass dans tes pensées
    +1

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

Discussions similaires

  1. recuper les champs texte sous une autre appli (dos ou autre)
    Par marnoue dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/04/2009, 06h51
  2. Réception sur le port série sous DOS avec Borland V3.0
    Par jackyjacky dans le forum Autres éditeurs
    Réponses: 24
    Dernier message: 19/03/2004, 23h18
  3. sous DOS, rebooter la machine
    Par jbat dans le forum C
    Réponses: 12
    Dernier message: 03/11/2003, 09h44
  4. Mémoire insuffisante sous Dos
    Par Bubonik software dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 20/09/2003, 10h35
  5. Quel etait le secret de Rapid File, la bdd sous DOS
    Par Robert A. dans le forum Autres SGBD
    Réponses: 5
    Dernier message: 27/05/2003, 04h53

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