示例#1
0
文件: add.php 项目: yanghxstone/php
    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);
示例#2
0
 * @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;
 }