示例#1
0
 /**
  * @return bool
  */
 function verify_captcha()
 {
     global $db, $mybb;
     $user =& $this->data;
     if ($user['imagestring'] || $mybb->settings['captchaimage'] != 1) {
         // Check their current captcha input - if correct, hide the captcha input area
         require_once MYBB_ROOT . 'inc/class_captcha.php';
         $this->captcha = new captcha();
         if ($this->captcha->validate_captcha() == false) {
             // CAPTCHA validation failed
             foreach ($this->captcha->get_errors() as $error) {
                 $this->set_error($error);
             }
             return false;
         } else {
             $this->captcha_verified = true;
             return true;
         }
     } else {
         if ($mybb->input['quick_login'] == 1 && $mybb->input['quick_password'] && $mybb->input['quick_username']) {
             $this->set_error('regimagerequired');
             return false;
         } else {
             $this->set_error('regimageinvalid');
             return false;
         }
     }
 }
示例#2
0
 if (!validate_email_format($mybb->input['fromemail'])) {
     $errors[] = $lang->error_invalidfromemail;
 }
 if (empty($mybb->input['fromname'])) {
     $errors[] = $lang->error_noname;
 }
 if (empty($mybb->input['subject'])) {
     $errors[] = $lang->error_no_email_subject;
 }
 if (empty($mybb->input['message'])) {
     $errors[] = $lang->error_no_email_message;
 }
 if ($mybb->settings['captchaimage'] && $mybb->user['uid'] == 0) {
     require_once MYBB_ROOT . 'inc/class_captcha.php';
     $captcha = new captcha();
     if ($captcha->validate_captcha() == false) {
         // CAPTCHA validation failed
         foreach ($captcha->get_errors() as $error) {
             $errors[] = $error;
         }
     }
 }
 if (count($errors) == 0) {
     if ($mybb->settings['mail_handler'] == 'smtp') {
         $from = $mybb->input['fromemail'];
     } else {
         $from = "{$mybb->input['fromname']} <{$mybb->input['fromemail']}>";
     }
     $message = $lang->sprintf($lang->email_emailuser, $to_user['username'], $mybb->input['fromname'], $mybb->settings['bbname'], $mybb->settings['bburl'], $mybb->get_input('message'));
     my_mail($to_user['email'], $mybb->get_input('subject'), $message, $from, "", "", false, "text", "", $mybb->input['fromemail']);
     if ($mybb->settings['mail_logging'] > 0) {
示例#3
0
     eval("\$attachbox = \"" . $templates->get("post_attachments") . "\";");
 }
 // If the user is logged in, provide a save draft button.
 if ($mybb->user['uid']) {
     eval("\$savedraftbutton = \"" . $templates->get("post_savedraftbutton", 1, 0) . "\";");
 }
 // Show captcha image for guests if enabled
 $captcha = '';
 if ($mybb->settings['captchaimage'] && !$mybb->user['uid']) {
     $correct = false;
     require_once MYBB_ROOT . 'inc/class_captcha.php';
     $post_captcha = new captcha(false, "post_captcha");
     if ((!empty($mybb->input['previewpost']) || $hide_captcha == true) && $post_captcha->type == 1) {
         // If previewing a post - check their current captcha input - if correct, hide the captcha input area
         // ... but only if it's a default one, reCAPTCHA and Are You a Human must be filled in every time due to draconian limits
         if ($post_captcha->validate_captcha() == true) {
             $correct = true;
             // Generate a hidden list of items for our captcha
             $captcha = $post_captcha->build_hidden_captcha();
         }
     }
     if (!$correct) {
         if ($post_captcha->type == 1) {
             $post_captcha->build_captcha();
         } elseif ($post_captcha->type == 2 || $post_captcha->type == 4) {
             $post_captcha->build_recaptcha();
         } elseif ($post_captcha->type == 3) {
             $post_captcha->build_ayah();
         }
         if ($post_captcha->html) {
             $captcha = $post_captcha->html;
示例#4
0
文件: member.php 项目: GeorgeLVP/mybb
 // Checks to make sure the user can login; they haven't had too many tries at logging in.
 // Is a fatal call if user has had too many tries
 login_attempt_check();
 // Redirect to the page where the user came from, but not if that was the login page.
 $redirect_url = '';
 if ($_SERVER['HTTP_REFERER'] && strpos($_SERVER['HTTP_REFERER'], "action=login") === false) {
     $redirect_url = htmlentities($_SERVER['HTTP_REFERER']);
 }
 $captcha = '';
 // Show captcha image for guests if enabled and only if we have to do
 if ($mybb->settings['captchaimage'] && isset($do_captcha)) {
     $correct = false;
     require_once MYBB_ROOT . 'inc/class_captcha.php';
     $login_captcha = new captcha(false, "post_captcha");
     if ($do_captcha == false && $login_captcha->type == 1) {
         if ($login_captcha->validate_captcha() == true) {
             $correct = true;
             $captcha = $login_captcha->build_hidden_captcha();
         }
     }
     if (!$correct) {
         if ($login_captcha->type == 1) {
             $login_captcha->build_captcha();
         } elseif ($login_captcha->type == 2) {
             $login_captcha->build_recaptcha();
         }
         if ($login_captcha->html) {
             $captcha = $login_captcha->html;
         }
     } elseif ($correct && $login_captcha->type == 2) {
         $login_captcha->build_recaptcha();