Example #1
0
 /**
  * Verifies if a username is valid or invalid.
  *
  * @param boolean True when valid, false when invalid.
  */
 function verify_username()
 {
     global $mybb;
     $username =& $this->data['username'];
     require_once MYBB_ROOT . 'inc/functions_user.php';
     // Fix bad characters
     $username = trim($username);
     $username = str_replace(array(unicode_chr(160), unicode_chr(173), unicode_chr(0xca), dec_to_utf8(8238), dec_to_utf8(8237), dec_to_utf8(8203)), array(" ", "-", "", "", "", ""), $username);
     // Remove multiple spaces from the username
     $username = preg_replace("#\\s{2,}#", " ", $username);
     // Check if the username is not empty.
     if ($username == '') {
         $this->set_error('missing_username');
         return false;
     }
     // Check if the username belongs to the list of banned usernames.
     if (is_banned_username($username, true)) {
         $this->set_error('banned_username');
         return false;
     }
     // Check for certain characters in username (<, >, &, commas and slashes)
     if (strpos($username, "<") !== false || strpos($username, ">") !== false || strpos($username, "&") !== false || my_strpos($username, "\\") !== false || strpos($username, ";") !== false || strpos($username, ",") !== false) {
         $this->set_error("bad_characters_username");
         return false;
     }
     // Check if the username is of the correct length.
     if ($mybb->settings['maxnamelength'] != 0 && my_strlen($username) > $mybb->settings['maxnamelength'] || $mybb->settings['minnamelength'] != 0 && my_strlen($username) < $mybb->settings['minnamelength']) {
         $this->set_error('invalid_username_length', array($mybb->settings['minnamelength'], $mybb->settings['maxnamelength']));
         return false;
     }
     return true;
 }
Example #2
0
     }
     $imagestring = $db->fetch_field($query, 'imagestring');
     if (my_strtolower($imagestring) == my_strtolower($mybb->input['value'])) {
         echo "<success>{$lang->captcha_matches}</success>";
         exit;
     } else {
         echo "<fail>{$lang->captcha_does_not_match}</fail>";
         exit;
     }
 } else {
     if ($mybb->input['action'] == "username_availability") {
         require_once MYBB_ROOT . "inc/functions_user.php";
         $username = $mybb->input['value'];
         // Fix bad characters
         $username = trim($username);
         $username = str_replace(array(unicode_chr(160), unicode_chr(173), unicode_chr(0xca), dec_to_utf8(8238), dec_to_utf8(8237), dec_to_utf8(8203)), array(" ", "-", "", "", "", ""), $username);
         // Remove multiple spaces from the username
         $username = preg_replace("#\\s{2,}#", " ", $username);
         if (empty($username)) {
             echo "<fail>{$lang->banned_characters_username}</fail>";
             exit;
         }
         header("Content-type: text/xml; charset={$charset}");
         // Check if the username belongs to the list of banned usernames.
         $banned_username = is_banned_username($username, true);
         if ($banned_username) {
             echo "<fail>{$lang->banned_username}</fail>";
             exit;
         }
         // Check for certain characters in username (<, >, &, and slashes)
         if (strpos($username, "<") !== false || strpos($username, ">") !== false || strpos($username, "&") !== false || my_strpos($username, "\\") !== false || strpos($username, ";") !== false) {