【问题标题】:How to read a file from browsers cache?如何从浏览器缓存中读取文件?
【发布时间】:2012-08-01 14:22:39
【问题描述】:

我自己制作了一个包含更多(隐藏)信息的 GIF 文件,然后只有图片数据。 像这样:

<?php
// set variabelen
    $naam = "gebruikersinformatie"; 
    $info['age'] = 27;
    $info['number'] = '1234.56.789';
    $info['name'] = 'Arie Noniem';
    $info['unique_hash'] = base64_encode(implode("|", array($_SERVER['HTTP_USER_AGENT'],$_SERVER['HTTP_ACCEPT'],$_SERVER['REMOTE_ADDR'],$_SERVER['REMOTE_PORT'],$_SERVER['HTTP_ACCEPT_LANGUAGE'])));

    // build the information
    $info = base64_encode(http_build_query($info));

    // build the image
    header('Content-type: image/gif');  
    echo base64_decode("R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\n".$info);
?>-

现在,我想检查文件是否已经在用户的缓存中。 如果没有:制作一个新的(使用上面的代码)。 如果在缓存中:使用 PHP 读取该 gif.gif 文件,因为其中存储了更多信息。

问题:如何检查文件是否在缓存中? How to get the browser to cache images, with php? 无法正常工作

以及如何读取缓存文件?那么 PHP 从缓存文件中获取真实的内容呢? 原因:避免 EU-cookie-law

【问题讨论】:

    标签: caching cookies gif


    【解决方案1】:

    恐怕你不会回避欧盟 Cookie 法。

    虽然它通常被称为 cookie 法,但它是一项隐私指令,其原则适用于从用户设备放置、保存或读取信息的任何技术。因此,合规性的必要性包括例如 Flash 文件(本地存储的对象)、跟踪像素(通常用于跟踪电子邮件打开的不可见的一个像素图像)和其他东西。

    仅供参考,此答案基于我们将ukcookieslaw.co.uk 专门处理英国实施欧盟指令的经验(请注意您的编码中的德国人:-)。

    假设您的解决方案至少对隐私造成了侵犯,并提供了必要的功能(例如维护登录),您可能会认为您的解决方案实际上不太合规,因为会话 cookie 将(通常) 最迟在用户退出浏览器时销毁。

    您的更隐蔽、难以检查、故意隐藏(我很欣赏没有恶意)的有效载荷可以,并且鉴于大多数人不会在每次退出时清空缓存,因此会停留更长时间。事实上,在某种程度上,你依赖它。

    如果没有详细信息,则无法查看,但可能是信息对第三方更有用,即是否有可能由网络中的中介缓存图像,您必须防止?

    您仍需说明您对个人数据的使用情况,并依赖默示同意(或明确同意)将数据放置在用户的设备上,以确保您的网站合规。问题是任何同意都必须是 INFORMED 同意,而且从表面上看,通知用户离您的想法最远。

    我认为您的工程工作需要一个更好的理由 :-)

    亲切的问候,

    菲利普

    【讨论】:

    • 感谢您的回答,但我知道为什么我会使用这种方法。目前,它只是一个典型的 1x1 像素,但我应该将它集成到所需的图像中。因此:我可以用 PHP 读取缓存的图像吗?如果是:如何?
    猜你喜欢
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 2011-09-10
    • 1970-01-01
    • 2013-02-09
    相关资源
    最近更新 更多