GB | BIG5
|
| 首頁 > 編程技術 > Php > 正文 |
 |
| 用戶口令檢查(/etc/passwd) |
| 本文出自:http://www.gouhuo.com 作者: (2001-07-24 07:00:00) |
<?
/*
* 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;$count<count($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;
}
}
?>
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
|
|
|
|
 |
★ 樊強制作 歡迎分享 ★ |