Zeile 44 | Zeile 44 |
---|
public $captcha_verified = true; private $captcha = false;
|
public $captcha_verified = true; private $captcha = false;
|
| public $username_method = null;
|
function verify_attempts($check_captcha = 0) { global $db, $mybb;
$user = &$this->data;
|
function verify_attempts($check_captcha = 0) { global $db, $mybb;
$user = &$this->data;
|
|
|
if($check_captcha) { if(!isset($mybb->cookies['loginattempts']))
| if($check_captcha) { if(!isset($mybb->cookies['loginattempts']))
|
Zeile 66 | Zeile 68 |
---|
}
function verify_captcha()
|
}
function verify_captcha()
|
{
| {
|
global $db, $mybb;
$user = &$this->data;
| global $db, $mybb;
$user = &$this->data;
|
Zeile 105 | Zeile 107 |
---|
}
function verify_username()
|
}
function verify_username()
|
{ global $db, $mybb;
$user = &$this->data; $username = $db->escape_string(my_strtolower($user['username']));
$query = $db->simple_select("users", "COUNT(*) as user", "LOWER(username) = '{$username}' OR LOWER(email) = '{$username}'", array('limit' => 1));
if($db->fetch_field($query, 'user') != 1) { $this->invalid_combination(); return false; }
// Add username to data $this->login_data['username'] = $username; }
| { $this->get_login_data();
if(!$this->login_data['uid']) { $this->invalid_combination(); return false; } }
|
function verify_password($strict = true) {
|
function verify_password($strict = true) {
|
global $db, $mybb;
| global $db, $mybb, $plugins;
$this->get_login_data();
|
if(empty($this->login_data['username'])) { // Username must be validated to apply a password to $this->invalid_combination(); return false; }
|
if(empty($this->login_data['username'])) { // Username must be validated to apply a password to $this->invalid_combination(); return false; }
|
| $args = array( 'this' => &$this, 'strict' => &$strict, );
$plugins->run_hooks('datahandler_login_verify_password_start', $args);
|
$user = &$this->data;
|
$user = &$this->data;
|
$password = md5($user['password']); $username = $this->login_data['username'];
| |
|
|
$options = array( 'fields' => array('username', 'password', 'salt', 'loginkey', 'coppauser', 'usergroup') );
$this->login_data = get_user_by_username($username, $options);
| $password = md5($user['password']);
|
if(!$this->login_data['uid'] || $this->login_data['uid'] && !$this->login_data['salt'] && $strict == false)
|
if(!$this->login_data['uid'] || $this->login_data['uid'] && !$this->login_data['salt'] && $strict == false)
|
{
| {
|
$this->invalid_combination(); }
| $this->invalid_combination(); }
|
Zeile 160 | Zeile 157 |
---|
$sql_array = array( "salt" => $this->login_data['salt'], "password" => $this->login_data['password']
|
$sql_array = array( "salt" => $this->login_data['salt'], "password" => $this->login_data['password']
|
);
$db->update_query("users", $sql_array, "uid = '{$this->login_data['uid']}'"); }
| );
$db->update_query("users", $sql_array, "uid = '{$this->login_data['uid']}'"); }
|
if(!$this->login_data['loginkey']) { $this->login_data['loginkey'] = generate_loginkey();
| if(!$this->login_data['loginkey']) { $this->login_data['loginkey'] = generate_loginkey();
|
Zeile 172 | Zeile 169 |
---|
$sql_array = array( "loginkey" => $this->login_data['loginkey'] );
|
$sql_array = array( "loginkey" => $this->login_data['loginkey'] );
|
|
|
$db->update_query("users", $sql_array, "uid = '{$this->login_data['uid']}'"); } }
$salted_password = md5(md5($this->login_data['salt']).$password);
|
$db->update_query("users", $sql_array, "uid = '{$this->login_data['uid']}'"); } }
$salted_password = md5(md5($this->login_data['salt']).$password);
|
if($salted_password != $this->login_data['password'])
| $plugins->run_hooks('datahandler_login_verify_password_end', $args);
if($salted_password !== $this->login_data['password'])
|
{ $this->invalid_combination(true); return false;
|
{ $this->invalid_combination(true); return false;
|
} }
| } }
|
function invalid_combination($show_login_attempts = false) {
| function invalid_combination($show_login_attempts = false) {
|
Zeile 218 | Zeile 217 |
---|
$this->set_error('invalidpwordusername', $login_text); break; }
|
$this->set_error('invalidpwordusername', $login_text); break; }
|
| }
function get_login_data() { global $db, $settings;
$user = &$this->data;
$options = array( 'fields' => array('uid', 'username', 'password', 'salt', 'loginkey', 'coppauser', 'usergroup', 'loginattempts'), 'username_method' => (int)$settings['username_method'] );
if($this->username_method !== null) { $options['username_method'] = (int)$this->username_method; }
$this->login_data = get_user_by_username($user['username'], $options);
|
}
function validate_login() { global $plugins, $mybb;
|
}
function validate_login() { global $plugins, $mybb;
|
|
|
$user = &$this->data;
|
$user = &$this->data;
|
|
|
$plugins->run_hooks('datahandler_login_validate_start', $this);
|
$plugins->run_hooks('datahandler_login_validate_start', $this);
|
$this->verify_attempts($mybb->settings['captchaimage']);
| if(!defined('IN_ADMINCP')) { $this->verify_attempts($mybb->settings['captchaimage']); }
|
if(array_key_exists('username', $user)) {
| if(array_key_exists('username', $user)) {
|