/** * Yourls filter is_valid_user * * @param $value * @return bool */ public function filter_is_valid_user($value) { if (true === $value) { return true; } $username = $this->getRequest('username'); $password = $this->getRequest('password'); if ($username && $password) { try { $this->_ldap->auth($username, $password); } catch (Exception $e) { yourls_login_screen($this->mapLdapException($e)); die; } yourls_set_user($username); $this->setSession('login', [$username => 'phpass:'******'groups', $this->_ldap->getGroups()); $this->action_pre_login(); return true; } return false; }
function yourls_check_signature() { global $yourls_user_passwords; foreach ($yourls_user_passwords as $valid_user => $valid_password) { if (yourls_auth_signature($valid_user) == $_REQUEST['signature']) { yourls_set_user($valid_user); return true; } } return false; }
/** * Check auth against signature. Sets user if applicable, returns bool * * @since 1.4.1 * @return bool False if signature missing or invalid, true if valid */ function yourls_check_signature() { if (!isset($_REQUEST['signature']) or empty($_REQUEST['signature'])) { return false; } // Check signature against all possible users global $yourls_user_passwords; foreach ($yourls_user_passwords as $valid_user => $valid_password) { if (yourls_auth_signature($valid_user) == $_REQUEST['signature']) { yourls_set_user($valid_user); return true; } } // Signature doesn't match known user return false; }