首页 / 知识
关于验证码:你是人吗? (或如何防止垃圾邮件)
2023-04-14 02:26:00
Are you human? (or How to prevent spam)您知道哪些机制可以防止您的网站被匿名垃圾邮件发送者滥用。 例如,假设我有一个人们可以投票的网站。 但我不希望有人一路垃圾邮件到顶部。 所以我发现(a)创建一个帐户,只允许投票一次,(b)CAPTCHA减少垃圾邮件。 您还知道其他哪些方法以及它们有多好?
来自xkcd 我注意到的最重要的事情是,无论你做什么,你都希望你的系统是独一无二的。您希望攻击者必须为您的特定站点定制自动化程序,而不是仅仅在其上抛出一个几乎可以在任何地方工作的预先存在的脚本。它甚至不必是加密安全的;它只是让你的网站与常规有点不同。 这并不意味着您不能或不应该使用预先构建的验证码小部件。绝对要用其中一个作为起点!它只是意味着你必须在某个地方对它进行自定义,以便在标准之外发生一些额外的事情,并打破任何通常会使其失败的预先存在的脚本。 如果您的网站变得足够大以至于您的攻击者专门针对它,那么您的简单小定制可能就不再适用了,您可能会做一些更特别的事情并考虑真正的加密等等。但那是一个"好"的问题之一。 对于CAPTCHA系统,我衷心推荐reCAPTCHA。 传统的计算机生成的CAPTCHA最终将通过开发足够智能的系统来打破。例如,这里有人声称打破谷歌CAPTCHA,以前被认为是牢不可破的,命中率为30%。根据定义,reCAPTCHA仅显示光学字符识别无法识别的图像。 与此同时,用户的努力将转向共同利益 - 他们通过识别无法自动识别的单词来帮助数字化书籍。 请参阅此处以获取进一步说明并进行试用。
从量子随机比特发生器服务,到MNeylon 我是"隐藏领域"CAPTCHA的粉丝。我不记得我在哪里读到它,但想法是这样的:
如果用户的浏览器没有处理CSS(或者他们关闭了CSS),这种情况就会失败,这是非常罕见的。
投票的收费,就像他们在一些电视"人才"节目中所做的那样,并且一直被垃圾邮件发送到银行! 说真的,这是一个非常棘手的问题,有一天(也许很快,如果你听Ray Kurzweil),计算机将进行测试以筛选出人类。我添加到列表中的答案有明显的缺点,但仅仅是为了枚举:审核(让人类进行测试)和基于IP的跟踪(限制来自主机的投票数)。 我通常使用两者的组合:匿名用户可以自由浏览所有内容,但如果他想投票,那么他必须注册。 在注册过程中,根据具体情况,我使用optin thru邮件(完成注册并确认至少存在邮箱)和/或CAPTCHA。 从那时起,您可以决定用户是否可以多次使用vonte或任何其他规则。 顺便说一下,我不是基于IP的约束的粉丝:在很多情况下,大型组织的网络对所有用户使用的IP很少,因此阻止可能投票的用户的风险很高。 在最佳非基于图像的CAPTCHA的答案中有一些想法?问题,如果你还没有看到它。 这是人类计算的研究领域。
这里有Luis von Ahn的精彩视频: stackoverflow有一些有助于此的功能;我认为您可以采取的最有用的一步是禁用匿名用户和新帐户投票的能力。这样,没有人可以注册数百个帐户并使用他们的一票来压制其他用户。我要说在一段时间内要求一些帖子或会员资格都是不错的选择。 有人会说你可以允许每个IP地址一次投票来帮助解决这个问题,但是我玩了很多游戏,其中具有无限数量代理的恶意用户违反了基于IP地址的安全性。这是一种威慑力,但精明的用户将轻松绕过它。 |
最新内容
相关内容
linux访问网站的命令?
linux访问网站的命令?,地址,系统,服务,工作,网站,命令,网络,管理,信息,网址,Linux必学的网络操作命令Linux的网络命令比较多,其中一些命令像pinlinux命令行登陆网站?
linux命令行登陆网站?,网站,系统,密码,服务,地址,环境,网络,软件,状态,项目,在Linux下怎么通过命令上网首先,连接相应linux主机,进入到linux命令linux登陆网站命令?
linux登陆网站命令?,网络,工具,网站,标准,地址,软件,系统,命令,数据,环境,linux如何用命令行登录?1、首先在桌面模式下,右键点击open in terminlinux命令打开网站?
linux命令打开网站?,网络,网站,系统,地址,密码,传播,工具,代码,环境,命令,大学生通关这几个编程游戏1、Hack The Game Hack The Game是一款好linux命令行登录网站?
linux命令行登录网站?,系统,网站,地址,工作,软件,密码,网络,第一,环境,中心,如何使用linux命令打开网页1、在命令符界面浏览网页可以使用lynx,llinux命令查询网站?
linux命令查询网站?,地址,网络,信息,名称,档案,工具,网站,命令,传播,分析,linux查看域名命令查找主机。ls:用来显示指定目录下的内容,列出指定目linux下备份网站命令?
linux下备份网站命令?,工程,系统,软件,设备,服务,网站,管理,数据,环境,设计,如何在Linux服务器中备份1、-a 选项相当于选项 -rlptgoD 。简单来linux下邮件发送命令?
linux下邮件发送命令?,服务,邮箱,信息,密码,情况,设备,地方,发行,地址,命令,Linux文件系统操作命令1、df命令:用于显示文件系统的磁盘空间使用linux命令连接网站?
linux命令连接网站?,网络,系统,信息,地址,名称,密码,设备,软件,网站,工具,Linux下必须知道的11个网络命令1、netstat -r:打印路由表。路由表保深入理解python函数传参机制
深入理解python函数传参机制,培训,对象,函数,变量,类型,复本,下面,操作,机制,内存,首先需要申明的一点是,python里是没有像C和C++里那样按值传python的垃圾回收机制
python的垃圾回收机制,时间,技术,对象,系统,培训,名字,垃圾,标记,机制,内存,引用计数Python默认的垃圾收集机制是“引用计数”,每个对象维护了Python内存管理机制之Pymalloc
Python内存管理机制之Pymalloc,系统,概念,管理,较大,培训,内存,机制,底层,碎片,函数,PymallocPython实现了一个内存池(memorypool)机制,使用Py