正如你们许多人可能知道的那样,现在网上银行都有一个安全系统,在你输入密码之前,你会被问到一些个人问题.一旦您回答了它们,您就可以选择让银行"记住这台电脑",以便将来只需输入您的密码即可登录.
"记住这台电脑"部分如何运作?我知道它不能是cookie,因为尽管我清除了所有的cookie,但该功能仍然有效.我认为这可能是通过IP地址,但我的朋友有一个动态知识产权声称它也适用于他(但也许他错了).他认为这是MAC地址或其他什么,但我强烈怀疑!那么,是否有一个我不清楚的https-only cookie概念?
最后,问题的编程部分:我怎么能在PHP中自己做类似的事情呢?
事实上,他们最有可能使用cookies.他们的另一种选择是使用" flash cookies "(官方称为" 本地共享对象 ").它们与cookie类似,因为它们与网站绑定并具有大小上限,但它们由Flash播放器维护,因此它们对任何浏览器工具都是不可见的.
要清除它们(并测试此理论),您可以使用Adobe提供的说明.另一个漂亮的(或者可能令人担忧,取决于你的观点)功能是LSO存储由所有浏览器共享,因此使用LSO 即使他们切换浏览器也可以识别用户(只要他们以同一用户身份登录) .
我感兴趣的银行是美国银行.
我已经确认,如果我只清除我的cookie或我的LSO,该网站不要求我重新输入信息.但是,如果我清除这两个,我必须经过额外的身份验证.因此,在我的特定情况下,这似乎是答案!
但是,谢谢大家关于其他银行的提醒,以及包括User-Agent字符串在内的可能性.
这种会话跟踪很可能是使用cookie与识别您当前会话的唯一ID的组合,以及将该id与您用于连接到其服务器的最后一个IP地址的网站配对完成的.这样,如果IP发生了变化,但您仍然拥有cookie,那么您就会被识别并登录,如果cookie不存在但您的IP地址与服务器上的那个相同,那么他们会将您的cookie设置为id与该IP配对.
真的,这是第二种可能是正确的方法.如果缺少cookie,并且您只显示了您的IP地址以进行身份识别,那么基于此记录某人是非常不安全的.所以服务器可能存储了关于你的其他信息,LSO似乎是一个不错的选择,地理IP也是如此,但是用户代理,不是因为他们没有真正说出任何关于你的事情,每个人都使用与你相同的浏览器版本有同样的.
顺便说一句,上面已经提到它可以与MAC地址一起使用.我非常不同意!您的MAC地址永远不会到达您银行的服务器,因为它们仅用于识别以太网连接的侧面,并且连接到您的银行,您可以建立一系列以太网连接:从您的计算机到家用路由器,或您的ISP,然后从那里是你经历的第一个互联网路由器,然后是第二个,等等......每次建立新连接时,每一台机器都会提供自己的MAC地址.因此,只有通过交换机或集线器直接连接到您的计算机才能知道您的MAC地址,因为路由您的数据包的任何其他内容都将用您自己的MAC替换您的MAC.只有IP地址始终保持不变.如果MAC地址确实一直存在,那将是一个隐私噩梦,因为所有MAC地址对于单个设备是唯一的,因此对于单个人来说.
这是一个略微简化的解释,因为它不是问题的重点,但似乎有必要清除看起来像是误解的东西.