【问题标题】:Is there a cross browser way to turn off cookies using Javascript?是否有跨浏览器的方式来使用 Javascript 关闭 cookie?
【发布时间】:2012-12-14 04:11:10
【问题描述】:

我们每个人都知道新法律,这对于在其网站上使用 cookie 的开发人员来说是一件痛苦的事。

我们必须询问我们的用户是否允许我们在他们的机器上创建 cookie。如果他们不允许我们做这件事,我们如何用 javascript 关闭 cookie?

有没有办法只为一个网站关闭 cookie?是否有适用于所有浏览器的兼容脚本?

第 3 方 cookie(Youtube 或 Google Analytics)呢?它们也存储在我们的网站文件夹中..

谢谢!

【问题讨论】:

  • 如果这真的是一个新规则,我认为它会在浏览器级别实现。这将超出程序员的控制。
  • "我们必须询问我们的用户是否允许我们在他们的机器上创建 cookie。" -- 好的,询问他们,如果他们同意,创建您的 cookie。如果他们拒绝,请删除您现有的 cookie,并且不要存储任何其他 cookie。如果这还不够,为什么不呢?您能引用相关法律吗?
  • 我无法找到立法的直接链接,但搜索“欧盟 Cookie 指令”会发现很多文章,例如:ico.gov.uk/for_organisations/…

标签: javascript cookies cross-browser


【解决方案1】:

您无法从客户端关闭 cookie。您的客户端代码可以停止创建新的 cookie,但即便如此,服务器仍可能在页面上放置 cookie。如果您想停止为特定网站创建 cookie,则需要在客户端代码和服务器代码中都停止这样做。

仅供参考,问题是否真的是 cookie 本身 - 还是更多的是您对这些 cookie 所做的事情(例如跟踪给定用户)。例如,如果您设置一个 cookie 只是为了记住当前用户上次在哪个选项卡上(cookie 中没有其他识别信息,并且在服务器上没有使用该 cookie),这是一个问题吗?或者,存储临时会话 ID 的 cookie,以便服务器可以跟踪您购物车中的商品。我怀疑这些是问题,因为这些不是跟踪或隐私问题。

由于每个国家/地区对此都有自己的法律,因此如果您的目标是遵守特定国家/地区的法律,则必须查阅其确切的法律。

【讨论】:

    【解决方案2】:

    我不知道不同国家/地区有哪些不同的法律,但荷兰的 cookielaws 并没有那么严格,大多数网站都不必更改任何内容。在尝试从中清除所有 cookie 创建之前,您可能需要查看适用于您网站的确切法律。

    简而言之Dutch cookielaws归结为:

    • 网站必须征得许可才能放置跟踪用户的 cookie(这包括第三方 cookie,例如 Google 添加的 cookie)。
    • 网站无需征求用户的许可即可放置运行网站所需的 cookie。此类 cookie 的一个示例是跟踪您在购物车中放置的内容的 cookie。

    到目前为止,我所看到的该法律的大多数实施都与 fok.nl 上的类似。用户第一次打开网站时,他们的脸上会弹出一个大弹出窗口,只有在他们允许网站放置 cookie 的情况下,才会让用户打开真正的网站。我假设这个设置然后存储在一个新的 cookie 中,这样用户就不会再被它打扰了。该解决方案实施起来应该不会太难。

    编辑:

    这里有更多的实现示例:http://www.stormmc.nl/nieuws/nederlandse-voorbeelden-implementatie-cookiewet/(只需点击链接)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      • 2011-11-02
      • 2012-11-26
      • 2010-10-24
      • 2012-05-28
      • 1970-01-01
      • 2010-09-18
      相关资源
      最近更新 更多