其他网站的图片可以在我的网站上创建cookie吗



我有一个静态网站,它只包含htmlcss。没有javascript,没有php,没有数据库。在这个网站上,我使用的是图片,这些图片来自图片托管网站(比如imgur)。

我注意到,当我访问我的网站(至少在谷歌Chrome上)时,如果我点击URL旁边的信息按钮,它会显示这个网站上有cookie。如果我点击cookie按钮,它会显示The following cookies were set when you viewed this page,并有一个cookie列表,包括我用于图像托管的网站。

如果我删除它们,它们会在一段时间后返回,但不会立即返回。我尽量避免cookie,因为这个网站很简单。他们被认为是我网站的一部分吗?如果是的话,除了自己主持图片之外,我还能做什么吗?

我一直认为,如果你直接链接到一个图像(例如,在以.png结尾的链接中),它将与你自己托管图像一样,并且不会运行javascript(保存cookie)。

他们被认为是我网站的一部分吗?

这取决于您的观点。

浏览器不认为它们是您网站的一部分。cookie是按域存储的,因此响应http://example.com的图像请求而收到的cookie将属于http://example.com,而不属于您的网站。

然而,出于隐私法(如GDPR)的目的,它们被视为您网站的一部分,如果第三方使用它们来跟踪个人身份信息,您需要跳过GDPR通常的障碍。

如果是的话,除了自己主持图片之外,我还能做什么吗?

不是。

我一直认为,如果你直接链接到一个图像(例如以.png结尾的链接),它将与你自己托管图像一样,并且不会运行javascript(保存cookie)。

Cookies通常是用HTTP响应头设置的,而不是用JavaScript设置的。

每当浏览器从服务器请求文件时,它会自动将任何cookie数据与请求一起转发。图像托管服务可能会将其用于不同的目的。

我一直认为,如果你直接链接到一个图像(例如以.png结尾的链接),它将与你自己托管图像一样,并且不会运行javascript(保存cookie)。

所以问题是,他们如何设置这些cookie

比方说,您使用一个简单的img标记从宿主加载图像。

<img src="imageHoster.tld/123xyz.png">

网站imageHoster.tld可以通过将所有请求重定向到requestHandler.php来处理该请求,并且该文件可以在使用简单的发送图像之前设置cookie

<?
setcookie("cookieName", "whateverValue", time()+3600);
header('content-type: image/png');
...
?>

那里发生的事情实际上和你设置图像源一样:

<img src="imageHoster.tld/requestHandler.php?img=123xyz">

他们被认为是我网站的一部分吗?

由于这些所谓的第三方cookie是在访问您的网站时设置的,因此可以将其视为您网站的一部分。为了安全起见,我至少会在数据隐私声明中提到使用第三方服务。

如果是的话,除了自己主持图片之外,我还能做什么吗?

可以在客户端浏览器中禁用第三方cookie。但是你不能为你网站的访问者禁用它们。所以不,为了避免第三方在访问您网站的客户端浏览器上设置cookie,您只能避免使用他们的服务。

相关内容

  • 没有找到相关文章

最新更新