<?php
+function login_password_verify($input, $test)
+{
+ if (substr($test, 0, 1) != '$') {
+ # plaintext match for uncrypted passwords
+ return $input === $test;
+ }
+ return password_verify($input, $test);
+}
+
+function login_setcookie()
+{
+ global $User;
+ return setcookie('login', $User['auth'], 0, '/');
+}
+
function login($inuser, $inpass = NULL)
{
if (empty($inuser)) return;
# verify password
$authhash = md5($usertest);
if (isset($inpass)) {
- if (!password_verify($inpass, $usertest)) return;
+ if (!login_password_verify($inpass, $usertest)) return;
}
else {
if ($inauth !== $authhash) return;
if (function_exists('apache_note')) apache_note('user', $inuser);
+ if ($log = @fopen("$userdir/last.log", 'w')) {
+ fwrite($log, "{$_SERVER['REMOTE_ADDR']} {$_SERVER['HTTP_USER_AGENT']}\n");
+ }
+
return [
'name' => $inuser,
'admin' => file_exists("$userdir/.admin"),