我的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私钥,该私钥与正确的地址(duh)相关联。 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)的类文件更漂亮(它现在具有与表单结构相同的结构,例如)并且我还删除了属于MailHide API的所有内容,因为我不要使用该API - 仅使用reCAPTCHAs API。
怎么了?我错过了什么吗?
提前致谢!
答案 0 :(得分:1)
Recaptcha绝对不会被垃圾邮件队破坏。我从头开始在12小时内自行开发了OCR解决方案,并且能够打破reCaptcha和Yahoo-Captchas。 (在Python,C和Java中,只使用第三方库来读取jpeg / gif / png。)实际上,对于一个优秀的程序员来说,这是一项简单的任务。
无论如何,reCaptcha将停止“初学者”。
摆脱垃圾邮件的最佳方法是在您的网站上添加一些蜜罐。通常,这是最好的。当然,这样的定制解决方案需要一点时间,但肯定不会超过一天。
蜜罐有许多(简单)技巧,您可以在Google上找到它们。对于例如隐藏文本字段(使用css)等。就我而言,我根本不需要验证码,因为我添加了一个带有几行代码的僵尸陷阱。
祝你好运! :)答案 1 :(得分:0)
1)我假设你已经测试过所有内容,以确保当有人未能输入验证码时它会正确拒绝帖子/其他内容?
2)您也可以尝试生成新密钥。您的密钥可能已被破坏/破坏,并且创建新密钥可能会使垃圾邮件消失。
3)与大量的recaptcha系统合作后,最终我最终将其关闭并安装了一组更好的验证码问题,这些问题可以为可能会访问您网站的人提供简单的答案,如果可能的话,这对垃圾邮件发送者来说仍然很难。例如,如果您有一个关于“赛车”的网站,那么请提出您的用户可能会知道的问题,例如“2011年赢得Indy 500的驱动程序名称是什么”。是的,它很容易研究,但是垃圾邮件背后的人可能不会花时间,大多数用户可能已经知道了答案。在我的系统上实现类似的问题集(并测试它们!!!)后,我的垃圾邮件几乎没有任何内容。Recaptcha是一个很棒的概念,但似乎不再有用了。在这里插入一声叹息......