8791 sujets

Développement web côté serveur, CMS

Bonjour à tous

Je suis en train de développer un petit script en CLI.

Ce script commence par une phase d'authentification :

Lorsque l'on demande le login, l'utilisateur entre son login puis "entrer". Il fait de meme pour le mot de passe.

Mon problème, c'est que tout ce que rentre l'utilisateur s'affiche dans le terminal.

Voici le code en question :


<?php

print "Login : ";
$login = fgets(STDIN);
$login = substr($login, 0, strlen($login)-1);

print "Password for $login : ";
$password = fgets(STDIN);
$password = substr($password, 0, strlen($password)-1);

?>


Connaitriez-vous un moyen de ne pas afficher ce que l'utilisateur rentre afin d'éviter d'afficher le mot de passe ?

Merci d'avance
Rebonjour


J'ai trouvé cette solution. Mais ca ne marche que sous Unix si quelqu'un connais une astuce pour windows...


<?php

print "Login : ";
$login = fgets(STDIN);
$login = substr($login, 0, strlen($login)-1);

print "Password for $login : ";
shell_exec('stty -echo');
$password = fgets(STDIN);
shell_exec('stty echo');
$password = substr($password, 0, strlen($password)-1);

?>