if ($_POST["g-recaptcha-response"]) { $resp = $reCaptcha->verifyResponse($_SERVER["REMOTE_ADDR"], $_POST["g-recaptcha-response"]); } if ($resp == null || $resp->success == false) { // The CAPTCHA was entered incorrectly $tpl->assign("error_msg", $errorImageVerification); $html = $tpl->draw('error', $return_string = true); echo $html; exit; } } // Check Stop Forum Spam if enabled ------------------------------------- if ($stop_forum_spam_enabled == 1) { require_once 'includes/stopforumspam.php'; $stopforumspamkey = $stop_forum_spam_key; $sfs = new StopForumSpam(); $sfsargs = array('email' => $_POST['youremail'], 'ip' => $sfs->getUserIP()); $sfsspamcheck = $sfs->is_spammer($sfsargs); if ($sfsspamcheck['spammer'] == true) { // User is in the Spam Database $tpl->assign("error_msg", $errorSFS); $html = $tpl->draw('error', $return_string = true); echo $html; exit; } } // Checking to see if the visitor has already posted -------------------- if ($gbflood == 1) { if (isset($_COOKIE['entry'])) { $cookieval = $_COOKIE['entry']; $tpl->assign("error_msg", $cookieval);
* @var Quip $quip * @var modX $modx * @var array $fields * @var QuipThreadReplyController $this * * @package quip * @subpackage processors */ $errors = array(); /* make sure not empty */ if (empty($fields['comment'])) { $errors['comment'] = $modx->lexicon('quip.message_err_ns'); } /* verify against spam */ if ($modx->loadClass('stopforumspam.StopForumSpam', $quip->config['modelPath'], true, true)) { $sfspam = new StopForumSpam($modx); $spamResult = $sfspam->check($_SERVER['REMOTE_ADDR'], $fields['email']); if (!empty($spamResult)) { $spamFields = implode($modx->lexicon('quip.spam_marked') . "\n<br />", $spamResult); $errors['email'] = $modx->lexicon('quip.spam_blocked', array('fields' => $spamFields)); } } else { $modx->log(modX::LOG_LEVEL_ERROR, '[Quip] ' . $modx->lexicon('quip.sfs_err_load')); } /* if requireAuth */ if ($this->getProperty('requireAuth', false) && !$this->hasAuth) { $errors['comment'] = $modx->lexicon('quip.err_not_logged_in'); return $errors; } /* if using reCaptcha */ $disableRecaptchaWhenLoggedIn = $this->getProperty('disableRecaptchaWhenLoggedIn', true, 'isset');
/** * Ensure the a field passes a spam filter. * * Properties: * - spamEmailFields - The email fields to check. A comma-delimited list. * * @access public * @param array $fields An array of cleaned POST fields * @return boolean True if email was successfully sent. */ public function spam(array $fields = array()) { $passed = true; $spamEmailFields = $this->modx->getOption('spamEmailFields', $this->login->config, 'email'); $emails = explode(',', $spamEmailFields); if ($this->modx->loadClass('stopforumspam.StopForumSpam', $this->login->config['modelPath'], true, true)) { $sfspam = new StopForumSpam($this->modx); foreach ($emails as $email) { $spamResult = $sfspam->check($_SERVER['REMOTE_ADDR'], $fields[$email]); if (!empty($spamResult)) { $spamFields = implode($this->modx->lexicon('register.spam_marked') . "\n<br />", $spamResult); $this->errors[$email] = $this->modx->lexicon('register.spam_blocked', array('fields' => $spamFields)); $passed = false; } } } else { $this->modx->log(modX::LOG_LEVEL_ERROR, '[Register] Couldnt load StopForumSpam class.'); } return $passed; }