Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP Cookies:任何确保它不是';你没抄吗?_Cookies - Fatal编程技术网

HTTP Cookies:任何确保它不是';你没抄吗?

HTTP Cookies:任何确保它不是';你没抄吗?,cookies,Cookies,网站有没有办法读取cookie,即cookie被锁定到该特定计算机上,并且没有以某种方式复制到另一台计算机上?假设您不信任端点-否 如果您不信任该用户,则无法确定 如果您不信任该计算机(例如,它可能安装了恶意软件),则无法确定 如果您不信任该连接(即它不受SSL保护),则无法确定 您可以通过将cookie链接到IP地址来确保,因为: 多台计算机可以共享一个IP(例如通过NAT) 一台计算机可以在多个IP之间循环(例如,一些大型ISP使用一组代理服务器) 您可以将从浏览器收集的一组数据(例如用

网站有没有办法读取cookie,即cookie被锁定到该特定计算机上,并且没有以某种方式复制到另一台计算机上?

假设您不信任端点-否

如果您不信任该用户,则无法确定

如果您不信任该计算机(例如,它可能安装了恶意软件),则无法确定

如果您不信任该连接(即它不受SSL保护),则无法确定

您可以通过将cookie链接到IP地址来确保,因为:

  • 多台计算机可以共享一个IP(例如通过NAT)
  • 一台计算机可以在多个IP之间循环(例如,一些大型ISP使用一组代理服务器)

您可以将从浏览器收集的一组数据(例如用户代理字符串)作为散列值包含在cookie中,但如果某些内容更改了您要检查的数据,或者cookie被复制到另一台具有相同数据的机器上,则这将断开(虽然用户代理字符串可能会有很大差异,但两台计算机的配置可能相同,而且在很多情况下它们可能会相同(例如,在一家公司中,标准桌面安装包括标准版本的浏览器和插件)。

假设您不信任终结点-否

如果您不信任该用户,则无法确定

如果您不信任该计算机(例如,它可能安装了恶意软件),则无法确定

如果您不信任该连接(即它不受SSL保护),则无法确定

您可以通过将cookie链接到IP地址来确保,因为:

  • 多台计算机可以共享一个IP(例如通过NAT)
  • 一台计算机可以在多个IP之间循环(例如,一些大型ISP使用一组代理服务器)

您可以将从浏览器收集的一组数据(例如用户代理字符串)作为散列值包含在cookie中,但如果某些内容更改了您要检查的数据,或者cookie被复制到另一台具有相同数据的机器上,则这将断开(虽然用户代理字符串可能变化很大,但两台计算机的配置可能完全相同,而且在很多情况下可能会出现这种情况(例如,在一家安装有标准桌面安装的公司,其中包括标准版本的浏览器和插件).

您唯一能做的就是尝试在cookie中放入尽可能多的数据(浏览器用户代理、操作系统、屏幕分辨率等)。您必须对数据进行加扰/加密。
如果您在某个时候再次读取cookie,您可以检查这些值是否仍然匹配。但这当然不是100%安全的解决方案,因为所有这些数据都可能被恶意用户伪造(如果他确切知道他需要更改什么)

您唯一能做的就是尝试在cookie中放入尽可能多的数据(浏览器用户代理、操作系统、屏幕分辨率等)。您必须对数据进行加扰/加密。 如果您在某个时候再次读取cookie,您可以检查这些值是否仍然匹配。但这当然不是100%安全的解决方案,因为所有这些数据都可能被恶意用户伪造(如果他确切知道他需要更改什么)