我目前正在开发一个我周末粗暴的聊天/论坛网站,它有匿名条目(即:没有用户名或密码).对于垃圾邮件发送者而言,这似乎很容易破坏,但我不想打扰用户使用验证码或类似的反垃圾邮件输入.
这些用户是否有任何隐形的替代品?谢谢你的帮助.
我为我的本地图书馆做了网页,我认为根据书籍封面有一个"自定义"验证码可能很有吸引力.因此,提供几十本书的封面之一,让赞助人填写表格类型的书名,以证明他们是人.假设我从图像和文件名中删除了标题/作者信息,那就足够了吗?它是一个相当小的网站上的独特系统,这足以使其有效吗?这些天垃圾邮件机器人有多棘手?将图像名称设为ISBN#会非常明显吗?
这是一个示例封面:
我有一个Wordpress博客,唯一的用户输入是评论系统.我想完全避免垃圾评论.Wordpress附带Akismet,但我也可以使用Captcha.我应该使用哪种插件/方法?
我的客户不介意用户输入验证字符串来发表评论.如果我采用Akisment或Captcha,我能完全控制垃圾邮件吗?
是否可以使用Akismet或Captcha进行简单的4位数验证?如果没有,那么请同时推荐一个只能进行4位验证的插件/方法.
只是为了提出我的问题的背景,我正在使用Vanilla Forums来运行我的网站.Vanilla论坛提供了使用reCAPTCHA验证网站上新注册的内置支持,我已经启用了该注册.然而,最近在我的论坛上,我看到了垃圾邮件注册的飙升(明显的"垃圾邮件"用户名,使用的电子邮件地址相同,等等)
我调查了这个,试着看看垃圾邮件如何通过reCAPTCHA验证.我知道在reCAPTCHA中,其中一个单词是系统已知的,另一个单词不是,因此即使输入了一个不正确的单词,表单提交也可能会验证.
所以我通过输入无效的reCAPTCHA输入在我的网站上的注册表上尝试了一些东西.我找到...
...没有引发reCAPTCHA错误.
我不认为这个问题与香草论坛有关.当您进入reCAPTCHA的演示页面时,请自行尝试.输入两个单词,正确的字符数,但单词本身关闭一个字符 - 具有"相似"的字符(例如,'a'而不是'd','v'而不是'w'.)
Vanilla实施reCAPTCHA是否有问题,或者这是reCAPTCHA本身的已知问题?(你可以在这里测试Vanilla的注册表.)
我正在开发一个Scrapy应用程序,我正在尝试使用一个使用验证码的表单登录一个网站(它不是垃圾邮件).我正在使用ImagesPipeline下载验证码,我将其打印到屏幕上供用户解决.到现在为止还挺好.
我的问题是如何重新启动蜘蛛,提交验证码/表格信息?现在我的蜘蛛请求验证码页面,然后返回一个Item包含验证码的页面image_url.然后由它处理/下载ImagesPipeline,并显示给用户.我不清楚如何恢复蜘蛛的进展,并将已解决的captcha同一个会话传递给蜘蛛,因为我相信蜘蛛必须在ImagesPipeline开始工作之前返回项目(例如退出).
我查看了文档和示例,但我没有找到任何明确说明如何实现这一点的内容.
我有一个用户注册表单,我试图通过使用Yii小部件CCaptcha显示Captcha图像,但是我的图像链接显示已损坏,控制器文件:
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
);
}
Run Code Online (Sandbox Code Playgroud)
模型文件:
public function rules()
{
return array( array('verifyCode','captcha','allowEmpty'=>!CCaptcha::checkRequirements(),'on'=>'insert'),
);
}
Run Code Online (Sandbox Code Playgroud)
并查看文件:
<?php if(CCaptcha::checkRequirements()): ?>
<div class="row">
<?php echo $form->labelEx($model,'verifyCode'); ?>
<div>
<?php $this->widget('CCaptcha'); ?>
<?php echo $form->textField($model,'verifyCode'); ?>
</div>
<div class="hint">Please enter the letters as shown.
<br/>Letters are not case-sensitive.</div>
<?php echo $form->error($model,'verifyCode'); ?>
</div>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
作为某处提供的答案,我也尝试在我的控制器文件中提供访问规则
public function accessRules()
{
return array( …Run Code Online (Sandbox Code Playgroud) 我目前正在使用Symfony2进行企业项目.
我们的项目有一些不同的形式,用于联系客户与他们的提供商在不同的领域,我们需要保护他们免受垃圾邮件.
我(我们)听说在parameters.ini中设置的秘密字母数字代码完成了工作(看起来像这个7f820ab290c78aacb2...),但是我们想要确保它,因为我们想避免使用CAPTCHA代码和那些让一些用户去的历史记录他们必须输入的字符很生气.
所以问题是,SECRET代码是否真的保护表单免受垃圾邮件发送者的攻击?
如果没有,任何人都知道如果不使用像Captcha这样的视觉验证系统来保护表格?
我在基于django的网站上使用django-simple-captcha应用程序,我能够将captcha表单字段集成到我的表单中,但问题是,如何创建一个调用Ajax刷新刷新验证码图像的按钮点击?该应用程序的文档不是很清楚,我试图按照文档中给出的示例,但它不起作用.请帮我解决这个问题?
编辑:这是django包的链接: django-simple-captcha
我正在尝试在我的网站上实施谷歌新的'NoCaptcha'.到目前为止,我的小部件看起来很好,但它在我的PHP页面上没有验证.
我的代码设置如下:
在 <head>
<script src='https://www.google.com/recaptcha/api.js'></script>
Run Code Online (Sandbox Code Playgroud)
客户端:
<form id="contactform" action="bookingverify.php" method="POST">
<input type="text" name="name" size="41">
<!--OTHER FORM INPUTS-->
<div class="g-recaptcha" data-sitekey="mypublickey"></div>
</form>
Run Code Online (Sandbox Code Playgroud)
服务器端(bookingverify.php)
$captcha;
if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
}
if(!$captcha){
echo '<h2>Please check the the captcha form.</h2>';
exit;
}
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=myprivatekey&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response.success==false){
echo '<h2>You are spammer</h2>';
}
else{
//SEND MAIL
}
Run Code Online (Sandbox Code Playgroud)
我试过回声,$_POST['g-recaptcha-response']但看起来很空洞.这就像变量没有发布到php.
有谁知道我在做错了什么?
之前版本的reCAPTCHA提供了制作可在任何域上运行的全局密钥的选项.现在,在版本2中,该选项消失了,reCAPTCHA站点声称"V2 API不支持全局密钥".
我正在使用大量可以在没有我干预的情况下频繁更改的域名,我不想将每个新域添加到密钥中.
有没有办法让reCAPTCHA在没有专门授权每个域的情况下在任何域上工作?