验证码与否?
我讨厌验证码,你认为有更好的解决方案吗
i hate captcha, do you think there is a better solution
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我讨厌验证码,你认为有更好的解决方案吗
i hate captcha, do you think there is a better solution
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
数学问题变得越来越流行
例如:3 + 2 是什么?
这些问题通常比验证码更容易阅读,而验证码可能会让某些用户感到非常困惑。
Mathematical questions are becoming increasingly popular
e.g. : what is 3 + 2?
These are often easier to read than captchas which can be very confusing for some users.
您可以查看实用的非基于图像的验证码方法?
我之前问过一个问题需要易于使用但安全的建议/想法 然而,
如果您因为验证码的存在而导致用户面临的困难而感到恼火,那么对此已经有很多争论,人们仍在努力想出一个通用的解决方案,可以即使对于非常受欢迎的网站也适用。
您应该看到 http://nedbatchelder.com/text/stopbots.html 来实现 < a href="http://damienkatz.net/2007/01/male_captch.html" rel="nofollow noreferrer">否定验证码。但遗憾的是,据我所知,这对于特定于站点的垃圾邮件攻击(当您的站点变得非常流行时)还没有效果。作者表示,他已经在不太受欢迎的网站上成功地使用了这些技术。最先进的负面验证码的总体结论是,无论您使用什么技术,垃圾邮件发送者都可以对其机器人进行编程,以便在一段时间内破解它,如果他们以您的网站为目标。当您的网站非常受欢迎时,他们可能会瞄准您的网站。但你绝对可以使用它们,直到你的网站不是很受欢迎。
You may check Practical non-image based CAPTCHA approaches?
I asked a question earlier Need suggestions/ideas for easy-to-use but secure captchas
However if you are irritated due to the difficulty faced by users because of the very existence of captchas, then there has been a lot of debate over this and people are still trying hard to come up with a universal solution which can work even for very popular sites.
You should see http://nedbatchelder.com/text/stopbots.html for implementation of Negative captchas. But sadly, this is not effective as yet for site specific spam attacks (when your site gets very popular) as far as I have understood. The author says he has been using these techniques successfully for less popular sites. The overall conclusion with the state-of-the-art negative captchas is that whatever technique you use, spammers can program their bots to crack it in some time if they target your site. And they will probably target your site when it gets very popular. But you can definitely use them till your site is not very popular.
我有一个虚假的表单输入(例如 zip 之类的东西,或者机器人喜欢填写但你实际上不需要的任何其他信息),它具有
visibility:hidden;位置:绝对
。其背后的动机是获得用户不可见但机器人可见的输入。因此,每当您收到填写了特定输入的请求时,您就知道这不是人类。我使用可见性:隐藏;位置:绝对,这样它仍然会占用空间,但不会使设计混乱。这适用于使用更复杂的技术来检测隐藏输入的机器人,因为对于 JS 来说,如果某些内容占用任何空间,则它不会被隐藏。
到目前为止,我还没有在非常成功的网站上测试过这项技术,但它仍然值得一试。但请注意,某些浏览器(我指的是 Safari/OSX!)会从您的联系人列表中获取信息,并自动为您填写所有输入字段(甚至可能是隐藏的输入),以便您更好地检查该方向的错误。
I have a a bogus form input (something like zip, or any other info that bots love to fill out but you really don't need) that has
visibility: hidden; position: absolute
. The motivation behind this is to get an input that is invisible to the user, but visible to the bot. So, whenever you get a request where that specific input is filled out, you know that it wasn't a human.I use
visibility: hidden; position: absolute
so that it still uses up space, but doesn't clutter the design. This is for the bots that use more elaborate techniques to detect hidden inputs since, for JS, something isn't hidden if it takes up any amount space.I haven't tested this technique on largely successful site as of yet, but it is still worth a try. Beware however that some Browsers (I am looking at you Safari/OSX!) that take info from your contact list and fills out all the input fields automatically (potentially even your hidden inputs) for you so you better check for bugs in that direction.
几年前我以一种可爱的方式解决了这个问题。
我在一个小型企业网站上有一个“给我发电子邮件”的表格,我希望它能够最大限度地被访问;垃圾邮件机器人发现了它并开始淹没合法邮件。通过阅读服务器日志,我了解到机器人在提交表单时没有先重新获取它——有人缓存了我的表单,只要他们有一些垃圾供我阅读,就简单地发送一个 POST。隐藏的表单输入会在几天内有所帮助,但随后一些机器人的所有者会找出正确的输入,将其缓存,然后洪水就会再次开始。
我没有任何可以将会话信息添加到表单的后端,并且不想添加任何信息。 的脚本的输出
垃圾块是随机生成的,难以压缩。我尝试了垃圾块需要多长。当我的表单大小达到大约 200K 时,垃圾邮件就停止了。
这实际上并不是很多额外的数据,就像向页面添加一些额外的图像一样。即使对于假设的拨号客户来说,呈现文本框和呈现提交按钮之间的延迟也比实际撰写消息可能花费的时间要短。
I solved this in a cute way a couple of years ago.
I had an "email me" form on a small business website that I wanted to be maximally accessible; spam bots found it and started overwhelming the legitimate messages. From reading the server logs, I learned that bots were submitting the form without re-fetching it first -- somebody had cached my form and was simply sending a POST whenever they had some garbage for me to read. A hidden form input would help for a few days, but then some bot's owner would figure out the right input, cache it, and the deluge would begin again.
I didn't have any backend where I could add session information to the form, and didn't want to add any. Instead, between the "Type your message here" box and the hidden element, I inserted the output of a script that writes
The garbage block is randomly generated to make it hard to compress. I experimented with how long the blocks of garbage needed to be. When I got the form size up to about 200K, the spam messages stopped.
This is actually not a lot of extra data, about like adding a few extra images to the page. Even for a hypothetical customer on dialup, the delay between rendering the text box and rendering the submit button is shorter than the time it would probably take to actually compose a message.
有一个很好的技巧,您可以通过设置一个空输入
displayed none
对用户但对机器人可见来使用。如果该输入字段
!==""
为空,则为表单返回 false。这里还有更多 http://klauskjeldsen.dk/avoid-html-form-垃圾邮件使用 CSS/
there is a nice trick which you can use by setting an empty input
displayed none
to the user but visible to the bot.and if that input filed
!==""
empty, return false for the form.there is more here http://klauskjeldsen.dk/avoid-html-form-spam-using-css/
如果您讨厌验证码,那么我可以给您两个快速的其他选项:
if you hate captcha then I can give youe two quick other options: