Rails中有很多验证码插件,还有许多类型的防止垃圾邮件和泛滥的解决方案.所以这不仅仅是Rails的问题.
我们来看看我们有哪些类型的插件:
1.经典图像验证码(zendesk的Captcha,Simple_captcha,Validates_captcha,winton的Captcha,Raptcha).
正:
负:
2. ReCaptcha(Recaptcha,Rack-recaptcha).
正:
负:
3.蜜罐(Negative-captcha,Trap_door,Reverse_captcha,Honeypot-captcha,Bouncy_bots,invisible_captcha).
正:
负:
4.文本库(Humanizer,Brain_buster,Gotcha).
正:
负:
5.其他(Acts_as_snook)
正:
负:
不知道有没有,因为它很不寻常.但我认为这可能会导致水浸问题,因为它可能需要在某些时候进行调节.
6.类似Akismet的解决方案(不知道它们的效率).
正:
负:
我也应该对我的网站说几句话.用户只有在ajax请求之后才会看到受保护的表单(例如,在将某些内容放入购物车之后).现代机器人是否有能力执行ajax请求和存储cookie?
我正试图找出一种防止机器人提交表单的好方法,同时保持流程简单.我已经阅读了几个很棒的想法,但我想在提交表单时添加一个确认选项.用户单击"提交"并弹出一个需要用户交互的Javascript确认提示.
这会阻止机器人或者机器人能够解决这个问题吗?下面是代码和JSFIddle来演示我的想法:
$('button').click(function () {
if(Confirm()) {
alert('Form submitted');
/* perform a $.post() to php */
}
else {
alert('Form not submitted');
}
});
function Confirm() {
var _question = confirm('Are you sure about this?');
var _response = (_question) ? true : false;
return _response;
}
Run Code Online (Sandbox Code Playgroud) 我有一个简单的Web应用程序,提供每日财务数据.用户订阅,我们每天都会向他们发送电子邮件.但是,Gmail将我们所有的电子邮件标记为垃圾邮件.我们应该注意什么?
有没有办法一致地检测PhantomJS/CasperJS?我一直在处理一堆用它构建的恶意垃圾邮件,并且已经能够基于某些行为阻止它们,但我很好奇是否有一种坚如磐石的方式来了解CasperJS是否正在使用中,如同处理不断适应变得有点烦人.
我不相信使用Captchas.他们是负面的用户体验,ReCaptcha从未在我的MediaWiki安装上阻止垃圾邮件.由于我们的网站没有用户注册(匿名讨论板),我们需要为每个帖子都有一个Captcha条目.我们每天会收到数千个合法的帖子,而且Captcha会看到这个号码.
我正在查看我的Google Analytics实时概述,我发现了以下内容.
它对我的网站有害吗?我应该采取任何预防措施吗?

TL; DR:从共享主机发送的邮件(例如Unoeuro或One.com的廉价域名)最终会被垃圾邮件发送.怎么修?
我制作了一个邮件系统,它首先生成一个PDF文件(使用FPDF),然后将PDF文件作为附件发送给PHP的Swiftmailer.这封电子邮件已发送给130人(作为"一张发票").但是几乎每个人都陷入垃圾邮件过滤器.我尝试调整SwiftMailers标头设置,但没有任何运气.即使是我以前没有寄过的邮件(经过全面测试).这是我最初的设置:
function sendMailEt($toEmail, $toName, $invoiceNumber){
require_once('includes/lib/swift_required.php');
$transport = Swift_SmtpTransport::newInstance('mailout.one.com', 25)
->setUsername('EMAIL-ACCOUNT1@THE-DOMAIN.DK')
->setPassword('THE-PASSWORD')
;
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('FROM COMPANY')
->setSubject('Thanks for signing up - COMPANY')
->setFrom(array('EMAIL-ACCOUNT1@THE-DOMAIN.DK' => 'Company name'))
->setTo(array($toEmail => $toName))
->setBody('A brief body, that explains that this is an invoice and that it has to be paid within 5 days. (written in danish)')
->addPart('A brief body, that explains that this is an invoice and that it has to be paid within 5 …Run Code Online (Sandbox Code Playgroud) 我代表客户从我的应用程序发送交易电子邮件.我希望接收器能够单击回复并将回复直接发送给我的客户,而不会触及我的服务器.
如果我从me@myapp.com发送电子邮件并将回复标题设置为customer@gmail.com,我的交易电子邮件会被标记为垃圾邮件吗?这对垃圾邮件过滤器来说是否是最轻微的红旗?重要的是我的电子邮件不会被垃圾邮件文件夹捕获,我花了相当多的时间确保我的电子邮件发送正确,所以我只想在实现类似之前确定.或者这是一个相当普遍的做法,我不应该关心它?
我正在开发一个应用程序,用于分发成千上万的电子邮件.我们已经开始与Mandrill接口以实现这一目标.
所以我的同事建议我们使用子域名发送所有这些电子邮件,以保护我们的顶级域名的声誉.我们开始争论这个问题,因为正如我所说,为什么一个简单的子域保护我们的TLD,特别是如果它们都解析为相同的IP地址?如果marketing.example.com发送了数千封电子邮件,那么垃圾邮件过滤器是不是足够聪明,知道它们真的来自example.com?
所以澄清一下:
那么如何将发件人转换为marketing.example.com(与匹配的DKIM)有助于保护我们的TLD作为非垃圾邮件发送者的声誉?我不明白,但我已经阅读了这方面的文章,他热切地认为这是正确的做法,但没有人能告诉我它是如何运作的.我从组织的角度理解这一点,但我不明白这是如何保护我们的域名,除非垃圾邮件过滤器真正判断子域名的代表.
有人可以帮我把它拼凑起来吗?
编辑:
以下是一些参考文章:
邮件黑猩猩交付 - 见第11页
我正在为我的应用程序创建一个用户管理系统,我需要向用户发送一个"忘记我的密码"电子邮件,其中包含一个令牌,可以让他们重置帐户密码.我通过Azure注册了SendGrid(每月免费获得25,000封电子邮件,这听起来很不错)并编写了一些代码来使用它,但在测试了我的程序之后我有点惊愕地发现只有我的几个电子邮件实际上经历了.
进入SG控制面板后,我发现我发送的6封测试电子邮件中有4封经过,而其他所有电子邮件都被拒绝为垃圾邮件.我发送了一封电子邮件到mail-tester.com看看我的垃圾邮件得分是多少,它给了我4.3/10.
有问题的电子邮件是一个单独的句子,其中包含密码重置的链接,没有任何图像或其他元素.我只发了6封电子邮件,所以我的电子邮件数量肯定不是问题.尽管如此,我仍然非常疑惑为什么我的邮件被标记为垃圾邮件.
无需进行精心设置的身份验证设置,我是否可以对系统进行任何基本更改以使其通过用户?
有一些垃圾邮件问题,我的服务器上,并找出和消除一些Perl和PHP脚本,我到检查他们真正做之后,虽然我是一个高级PHP程序员我有Perl的一点经验,任何人都可以给我一个手写脚本在这里:
(这是一长串代码,脚本叫做list.pl)
脚本的开头是:
$??s:;s:s;;$?::s;(.*); ]="&\%[=.*.,-))'-,-#-*.).<.'.+-<-~-#,~-.-,.+,~-{-,.<'`.{'`'<-<--):)++,+#,-.{).+,,~+{+,,<)..})<.{.)-,.+.,.)-#):)++,+#,-.{).+,,~+{+,,<)..})<*{.}'`'<-<--):)++,+#,-.{).+:,+,+,',~+*+~+~+{+<+,)..})<'`'<.{'`'<'<-}.<)'+'.:*}.*.'-|-<.+):)~*{)~)|)++,+#,-.{).+:,+,+,',~+*+~+~+{+<+,)..})
Run Code Online (Sandbox Code Playgroud)
它继续使用珍贵的少数非标点字符,直到最后:
0-9\;\\_rs}&a-h;;s;(.*);$_;see;
Run Code Online (Sandbox Code Playgroud)