怎样在服务器端防止cookie被复制后的自动登录
我们知道,实现自动登录的一种方法是通过cookie,在cookie设置类似auto=userid|token这样的信息,服务器端也同时存有token。当客户端访问服务器的时候,同时携带有上面的cookie,服务器端判断后台是否有userid和token,如果有则自动登录。这样如果这个cookie被复制带别的电脑,如电脑B,则电脑B也能自动登录,这是个很大的问题。那怎么应对这个问题呢?我查了相关资料,解决方法之一是能够唯一识别客户端,给cookie加上唯一客户端id,类似这样:对电脑1,auto=userid|token|clientid1,这三个信息也同时存在服务器端。这样,即使这个cookie被复制到电脑2,因为电脑2的id和电脑1不一样,cookie变成:auto=userid|token|clientid2,服务器端收到这个cookie和后台比较,因为clientid2!=clientid1,不登陆,这样就达到了防范的目的。但是用什么来当作客户端唯一标识符呢?能想到的,1、mac地址,这个可伪造,而且js和服务器端都无法拿到,所以放弃;2、IP,这个部分可以,但是拨号上网等等IP都会变,正常用户反而用不了了;3、user-agent、这个也能伪造。所以想请教大家,有什么能比较完美的充当客户端唯一标识符的角色呢?是不是这个思路不对?
另外还有一个问题是网站开发方是不是不需要考虑题目的问题?因为cookie被复制,那可能是客户端自己的问题,所以作为网站开发方,是不是就不用考虑这个问题了呢?谢谢!