Maison >développement back-end >tutoriel php >用户口令检查(/etc/passwd)_PHP教程

用户口令检查(/etc/passwd)_PHP教程

WBOY
WBOYoriginal
2016-07-13 17:09:061147parcourir


/*
* etc.passwd.inc v1.0
*
* Syntax:
* verifypasswd(string USERNAME, string PASSWORD)
*
* The function will return one of three values:
* -2 if there was a file reading error
* -1 if the password is incorrect
* 0 if the username doesn't exist
* 1 if the password is correct
*/

function verifypasswd ($USERNAME, $PASSWORD) {

$fd = fopen( "/etc/passwd", "r");
$contents = fread($fd, filesize( "/etc/passwd"));
fclose($fd);
if (!$contents) return -2;

$lines = split( "n", $contents);
$passwd = array();

for($count=0;$count list ($user,$pass) = split( ":",$lines[$count]);
if ($user == $USERNAME) {
break;
}
}

if (!$user) return 0;

$cryptedpass = $pass;
$salt = substr($cryptedpass,0,2);
$Pass = crypt($PASSWORD,$salt);

if ($Pass == $cryptedpass) {
return 1;
} else {
return -1;
}
}
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/629775.htmlTechArticle? /* * etc.passwd.inc v1.0 * * Syntax: * verifypasswd(string USERNAME, string PASSWORD) * * The function will return one of three values: * -2 if there was a file reading error * -...
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP代码加密解密一法_PHP教程Article suivant:php 防注入_PHP教程