为了防止重复投票,服务器端在线投票网页的过滤机制最可能采用的方案是()。
A.Cookies对象,并将已投票计算机的IP地址暂时锁定
B.Cookies对象,并将已投票计算机的MAC地址暂时锁定
C.Session对象,并将已投票计算机的IP地址暂时锁定
D.Session对象,并将已投票计算机的MAC地址暂时锁定
参考答案:A
解析:
Session对象是一个将浏览者信息记录在服务器端的对象,每一个连接者都可以在服务器端拥有属于自己的独立的Session对象。由于Session对象的生命周期消失于浏览者在一定时间内没有再与服务器端联系,或者是浏览者的浏览器关闭,因此这两个因素会使防止重复投票过滤机制失效,从而出现做票的漏洞。
Cookies对象会借助浏览器提供的Cookies功能将信息记录在客户端,也就是说每个浏览者的相关信息记录在自己的机器中。当浏览者的浏览器关闭,或是在一定时间内没有再与服务器端联系时,这些信息都不会消失。当浏览器再度被启用时,这些相关信息会被再度读取和利用。防止重复投票过滤机制使用Cookies对象还可以避免Web服务器的系统资源浪费问题,因为使用Cookies对象的浏览者信息记录在客户端自己的机器中,而Session对象的浏览者信息记录在服务器端。
在实际应用时,使用Cookies对象只能减少做票的行为发生。因为浏览者可以通过清除其浏览器的cookies文件而重新投票,或者是使用不同的浏览器进行重复投票。如果利用Web服务器数据库记录连接者的IP地址,并将已连接投票的IP地址暂时锁定,则可以进一步减少重复投票的现象。若Web服务器与客户机不在同一个网段,由于三层路由设备的存在,则客户机的MAC地址通常不会传输到Web服务器。