标签: flooding

rails - 选择captcha插件

Rails中有很多验证码插件,还有许多类型的防止垃圾邮件和泛滥的解决方案.所以这不仅仅是Rails的问题.

我们来看看我们有哪些类型的插件:

1.经典图像验证码(zendesk的Captcha,Simple_captcha,Validates_captcha,winton的Captcha,Raptcha).

正:

  • 可以有效防止自动解密(不确定Simple_captcha,但似乎zendesk和winton的验证码都没有实现,因为他们使用预先生成的图像(而不是按需),所以我们可能的垃圾邮件机器人可以在那些图像上学到了).

负:

  • 需要DB表(至少是简单的Captcha.不是很糟糕,但在使用后是否要清理它?).
  • 需要RMagick或类似(对我来说不是那么实际,因为我已经在我的网站上有它).
  • 失败手动解密(我知道2美元/ 1000张图片).
  • 对用户来说很烦人,可能会伤害转换率.

2. ReCaptcha(Recaptcha,Rack-recaptcha).

正:

  • 可以有效防止自动解密.
  • 不要求Rmagick和DB表.

负:

  • 向第三方网站拨打api电话.
  • 失败手动解密.
  • 比以前更烦人.

3.蜜罐(Negative-captcha,Trap_door,Reverse_captcha,Honeypot-captcha,Bouncy_bots,invisible_captcha).

正:

  • 用户不了解captcha presense.
  • 不要求Rmagick和DB表.

负:

  • 可能无法自动解密(有没有可以识别此插件的机器人?).
  • 失败手动解密.

4.文本库(Humanizer,Brain_buster,Gotcha).

正:

  • 不需要Rmagick和DB表(Brain_buster除外).

负:

  • 可能无法自动解密.
  • 失败手动解密.
  • 有点烦人(可以本地化).

5.其他(Acts_as_snook)

正:

  • 用户不了解captcha presense.
  • 不要求Rmagick和DB表.

负:

不知道有没有,因为它很不寻常.但我认为这可能会导致水浸问题,因为它可能需要在某些时候进行调节.

6.类似Akismet的解决方案(不知道它们的效率).

正:

  • 用户不了解captcha presense.
  • 不要求Rmagick和DB表.

负:

  • 向第三方网站拨打api电话.
  • 将用户的详细信息提供给第三方网站(非常非常糟糕).

我也应该对我的网站说几句话.用户只有在ajax请求之后才会看到受保护的表单(例如,在将某些内容放入购物车之后).现代机器人是否有能力执行ajax请求和存储cookie?

plugins captcha ruby-on-rails spam flooding

26
推荐指数
2
解决办法
6946
查看次数

PHP:反洪水/垃圾邮件系统

我实际上正在开发一个PHP项目,它将具有用户系统(登录,注册,发送丢失的密码到电子邮件,......),我认为这可能非常容易受到暴力攻击和/或垃圾邮件的攻击(发送一个密码到某人的电子邮件,如1000次等,使用你的幻想).

  • 今天的网络服务器(Apache,IIS)是否有某种针对Brute-Force的内置防御?
  • 实施反垃圾邮件/洪水系统的最佳方式是什么,例如:我希望页面不能每分钟调用两次以上,但是另一页可能每分钟调用100次左右.

    • 我肯定要存储IP地址,他们上次访问某个页面的时间以及某个地方的访问次数 - 但它是否足够有效将其存储在文本文件/数据库(MySQL)中

    • 我应该使用验证码来注册/恢复丢失的密码吗?

    • "文本"验证码是否可行?(比如"什么是5加9减2?")

    • 该页面将不被那么多用户(100-200)使用,我实际上是否必须实现所有这些东西?

php security spam brute-force flooding

11
推荐指数
2
解决办法
4683
查看次数

洪水WebSocket

我是websocket的新手,我在Web应用程序上实现了websocket,服务器端是用java编写的,客户端是javascript.服务器通过websocket向客户端发送通知.我想知道如果客户端没有足够快的速度来处理传入的消息,就像服务器发送它们一样快,会发生什么.例如,服务器可能每秒发送大约200条文本消息,客户端速度慢,每秒处理100条消息.我相信浏览器会在处理之前对传入消息进行排队,但不确定.我还知道如何检查此缓冲区大小及其限制,以及如果达到缓冲区限制会发生什么.关于如何模拟这种情况的任何想法,我试过:

webSocket.onmessage = function (message) {
    var bool = true;
    var datenexexec = Date.now() + 1000;
    while(bool) {
        if(Date.now() > datenexexec){
            bool = false;
        }      
    }
}
Run Code Online (Sandbox Code Playgroud)

但这会导致浏览器仅挂起并在以后崩溃.感谢帮助.

javascript flooding websocket

2
推荐指数
1
解决办法
1411
查看次数