版权声明:本文为博主原创文章,遵循 版权协议,转载请附上原文出处链接和本声明。
我们在访问一些国外的网站时,在注册或者下载文件资料的时候经常会遇到无法加载reCAPTCHA人机验证的情况,很多时候这个reCAPTCHA人机验证的内容根本就不会显示,导致我们账号注册失败了还一脸懵逼,不知道发生了什么。
这是因为reCAPTCHA是谷歌的验证码服务,一些国外网站很喜欢用这个人机认证的功能。而我们知道,在中国大陆是无法访问谷歌的,谷歌的reCAPTCHA自然也无法访问。而国外很多网站都喜欢使用reCAPTCHA验证码服务,但这对我们国内用户而言并不是一个好的功能。
那么我们国内用户应该怎么进行正常验证呢?这里给大家提供一个方法。
}
我的 Web 应用程序有一个登录页面,通过 AJAX 调用提交身份验证凭据。如果用户输入正确的用户名和密码,一切都很好,但如果没有,则会发生以下情况:
这一切都很好,直到第 3 步。我不想弹出对话框,我想要在我的 AJAX 回调函数中处理 401 响应。 (例如,通过在登录 page.)上显示错误消息,我希望用户 re-enter 他们的用户名和密码,当然,但我希望他们看到我友好,安心的登录表单,而不是浏览器丑陋的默认身份验证对话框。
顺便说一句,我无法控制服务器,所以让它返回自定义状态代码(i.e.,401 以外的东西)不是一个选项。
有什么办法可以抑制身份验证对话框吗?特别是,我可以在 Firefox 2 或更高版本中禁止“需要验证”对话框吗?有没有办法在 IE 6 及更高版本中禁止连接到[1]对话框?
作者提供的其他信息(9 月 18 日):
我应该补充一点,浏览器的身份验证对话框弹出的真正问题是它给用户提供的信息不足。
用户刚刚通过登录页面上的表单输入了用户名和密码,他认为他已经正确输入了这些用户名和密码,并且他点击了提交按钮或按回车键。他的期望是,他将被带到下一页,或者可能被告知他输入的信息不正确,应该再试一次。但是,他会出现一个意外的对话框。
该对话框未确认他刚输入用户名和密码的事实。它没有明确说明存在问题,他应该再试一次。相反,该对话框向用户显示诸如“网站说:'[2]'之类的神秘信息。”其中[3]是一个只有程序员才会喜欢的简短域名。
Web broswer 设计师注意到:如果对话框本身只是 user-friendly,没有人会问如何抑制身份验证对话框。我正在登录表单的全部原因是我们的产品管理团队正确地认为浏览器的身份验证对话框很糟糕。
}