欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

用户口令检查_PHP

程序员文章站 2022-04-20 11:05:31
...

/*
* 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
*
* Written by WarMage ( michael@irc.net )
*
*/

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;$countcount($lines);$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;
}
}
?>