最近不知道怎么的,总是喜欢研究一些大型站点的一些功能的实现,这两天看了下几个大型站的验证码的实现,觉得有点意思。
于是在.Net下也实现了一套类似的机制。我们先来看看这几个站的验证码功能的外在表现:
看QQ的,网站上有验证的地方都可以看的到,我这里提供个地址:http://pay.qq.com/login.shtml?url=http://pay.qq.com/
看看获取验证码的地址是:http://ptlogin2.qq.com/getimage,而当前操作的域是:pay.qq.com,可见它的这个实现跟我们普通
的.Net下的实现是不一样的。
大家看看这个网站就知道了:http://www.byf.com/member/member_login.aspx?url=http%3a%2f%2fwww.byf.com%2fmember%2findex.aspx
登录页面上的验证码跟当前的操作是在一个域下,至少可以肯定的是在同一个站点下。
验证码的地址是:http://www.byf.com/member/validate_img.aspx
这是外面可以看的出来的不一样的地方。我们再来看看外表看不到的地方,借助HttpWatch来看看QQ的:
GET /getimage HTTP/1.1
HTTP/1.1 200 OK
Server: tencent http server
Accept-Ranges: bytes
Pragma: No-cache
Content-Length: 2589
Set-Cookie: verifysession=4a8ea93680ebf2b7fbdab088121fb2c7fbb5f134443e2844fbb16da500e6c128773e6e9f25e25cf2; PATH=/; DOMAIN=qq.com;
Connection: close
Content-Type: image/jpeg
在请求验证码图片的同时服务端往客户端写了cookie verifysession登录提交的时候登录服务器会获取这个cookie。
再来看普通的验证码:
GET /member/validate_img.aspx HTTP/1.1
HTTP/1.1 200 OK
Date: Wed, 07 May 2008 02:26:07 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
研究 大流量、高并发网站的验证码解决方案
最新推荐文章于 2023-05-15 22:38:32 发布
本文探讨了在应对大流量、高并发场景下,验证码的挑战与解决方案。主要涉及验证码的类型选择,如图像验证码、滑动验证码、行为验证等,并分析了它们在抗机器识别、用户体验和性能效率上的优缺点。同时,文章还提到了验证码的实施策略,包括负载均衡、缓存策略以及使用分布式服务来提高系统的稳定性和可用性。
摘要由CSDN通过智能技术生成