Спаммеры могут отправлять свои вещи, даже если у меня есть reCAPTCHA - PullRequest
1 голос
/ 11 марта 2012

У меня огромная проблема с моей reCAPTCHA!Спаммеры могут отправлять свои уродливые вещи, даже если у меня есть reCAPTCHA, установленный на моем веб-сайте.Я создал собственный скин для reCAPTCHA, и я перечитал их вики, чтобы убедиться, что я все сделал правильно, но, к сожалению, что-то пошло не так.

Вот как я это сделал:

Форма

    <!-- reCAPTCHA -->
    <div class="paddingbottom-5">
        <div style="border: 1px solid #d1d1d1; width: 300px;">
            <div id="recaptcha_image"></div>
        </div>
    </div>


    <!-- reCAPTCHA: Textfield -->
    <input type="text" name="recaptcha_response_field" id="recaptcha_response_field" tabindex="5">

    <!-- reCAPTCHA: Reload -->
    <a href="javascript:Recaptcha.reload()" class="noborder-link">
        <img src="'.ICON.'arrow-circle-double-135.png" alt="" class="image-icon-right">
    </a>

</div>

Конфигурация (хранится ниже require_once('configs/required/classes/class.recaptchalib.php'); в том же файле, что и форма)

$response = recaptcha_check_answer(
    CAPTCHA_PRIVATE,
    IPADDRESS_NOHASH,
    $_POST['recaptcha_challenge_field'],
    $_POST['recaptcha_response_field']
);

CAPTCHA_PRIVATE содержитмой личный ключ для reCAPTCHA, который связан с нужным адресом (дух).IPADDRESS_NOHASH выглядит так: define('IPADDRESS_NOHASH', get_realip());.Функция "get_realip()" выглядит следующим образом:

function get_realip() {
    if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];

    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }

    return $ip;
}

У меня также есть эта функция в JavaScript для применения моей пользовательской темы:

var RecaptchaOptions = {
    theme : 'custom',
    custom_theme_widget: 'recaptcha_widget'
};

Я создал файл класса для reCAPTCHA(class.recaptchalib.php) более красивым (например, теперь он имеет ту же структуру, что и структура формы), и я также удалил все, что принадлежит API MailHide, потому что я не использую этот API - только API reCAPTCHAs.

Что не так?Я что-то пропустил?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 11 марта 2012

Recaptcha определенно не может быть взломан спам-ботами.Я разработал решение OCR самостоятельно в течение 12 часов с нуля и смог взломать reCaptcha и Yahoo-Captchas.(В Python, C и Java используются только сторонние библиотеки для чтения jpeg / gif / png.) На самом деле это простая задача для хорошего программиста.

В любом случае reCaptcha остановит «новичков».

Лучший способ избавиться от спама - добавить несколько медовых горшков на свой сайт.Обычно это работает лучше всего.Конечно, такое нестандартное решение занимает немного времени, но, конечно же, не дольше, чем один день.

Существует множество (простых) приемов для приманок, которые вы можете найти в Google.Например, для скрытых текстовых полей (с использованием CSS) и так далее.В моем случае мне вообще не нужны капчи, поскольку я добавил бот-ловушку с несколькими строками кода.

Удачи!:)

0 голосов
/ 11 марта 2012

1) Я предполагаю, что вы все проверили, чтобы убедиться, что, когда кто-то не вводит капчу, он должным образом отрицает сообщение / что-то еще?

2) Вы также можете попробовать сгенерировать новые ключи.Возможно, ваш ключ был скомпрометирован / взломан, и создание нового набора может привести к исчезновению спама.

3) Поработав со многими системами рекапчи, я в итоге выключил его и установил лучший набориз контрольных вопросов, на которые есть простые ответы для людей, которые, вероятно, зайдут на ваш сайт, если это возможно, что будет трудно спамерам.Например, если у вас есть сайт о «гонках», задавайте вопросы, которые, вероятно, будут знать ваши пользователи, например, «как зовут водителя, который выиграл Indy 500 в 2011 году».Да, это легко исследовать, но кто бы ни был за спамом, скорее всего, не потратит время, и большинство ваших пользователей наверняка уже знают ответ.После внедрения аналогичных наборов вопросов (и тестирования их !!!) в моих системах мой спам практически не получился.

Recaptcha - отличная концепция, но, похоже, она больше не работает.Вставьте большой вздох сюда ...

...