PX : code

etc.passwd.inc by Michael Matsumura
Download this code


<?
/*
 * 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;
        }
}
?>

Comments or questions?
PX is running PHP 5.2.17
Thanks to Miranda Productions for hosting and bandwidth.
Use of any code from PX is at your own risk.