我分析的附加码产生的流程,不知是不是这样:
1 用户发出一个注册的请求给服务器
2。服务器接到请求,有一个专门的CGI或PHP的附加码程序开始工作,它从服务器的图片库里随机取出一张(楼上的连接是取出几张图合成了一张)图片,
3 服务器里有个图片名和附加码 的对映表,依据对映表附加码程序得出这幅附加码图是显示的什么附加码,同时附加码程序是第几次运行,把这个次数和附加码一起作为一个记录存入服务器数据库
4 附加码程序把得到的图片拷贝到某处。并另外取个名字如:code。png,(在这里,当很多用户同时请求时,取为不同的名字,发给不同的用户,以免用户等待时间长),这是个临时的让用户显示附加码的图片,我把它称为附加码显示图片,当回应下一个用户时,图片可能会被覆盖。
5 附加码程序执行完成,返回给服务器附加码程序执行次数和附加码显示图片的名字(含路径)。
5 服务器向用户发出回应信息,里面包含前面产生的附加码程序运行次数和附加码显示图片的名字
6 浏览器接到服务器给的信息,找到附加码显示图片,并显示给用户
7 用户看到的附加码显示图片,输入附加码,并填完表,递交给服务器,递交的内容里面包含附加码程序运行次数
8 服务器收到用户请求,根据附加码程序运行次数,在数据库中找出对应的附加码,与用户填写的附加码比较,判断是否正确
9 服务器返回给用户请求结果,并从数据库中删除那条记录,不然用户伪造请求信息,每次都发给固定的附加码执行次数,附加码就不起作用了。
后面的步骤就不用说了,不知是否是这样。
按照这个流程,确实无法从服务器返回给浏览器的信息里分析出附加码,看来我上面的方法确实不行,除非侵入服务器,如果都侵入服务器了,还去找附加码做什么,呵呵!