gpt4 book ai didi

javascript - jQuery JavaScript有没有一种监听cookie变化的方法

转载 作者:行者123 更新时间:2023-11-28 02:16:05 27 4
gpt4 key购买 nike

是的,不太确定给这个起什么样的标题。但我刚才有一个随机的想法,我什至不知道它是否可能,我猜不可能,但希望有人能明确地告诉我是/否。

总体问题来自于监听 DOM 中事件的概念,这让我思考是否可以使用 cookie。一般来说,当页面加载时,我知道我将 cookie 存储为变量。我可以将它与它发生变化的事件进行比较。我拥有的是 2 个 cookie,它们永远不会改变,除非它们被脚本删除。所以我想听听它们的声音,看看它们是否发生变化,就像用户进入浏览器并以某种方式更改值一样。如果发生这种情况,我想以此为基础做一些事情。

我知道我无法通过 Firebug 浏览器或其他控制台之类的方式对它们进行任何物理更改。但是,希望知道

var myCookie = the cookie;

当页面加载时,因此如果可以监视更改,我可以使用 myCookie 进行比较,以确保页面加载时的变量与现在尝试使用的变量相同。

那么这有可能吗?是否有一种方法可以像大多数 DOM 元素一样监听 cookie 的更改,或者这是一个白日梦,并且存在无法监控的浏览器级别的安全问题?

最佳答案

无法知道 Cookie 何时在页面生命周期之外发生更改。当您的页面未加载时,您的页面代码甚至不会运行,因此 cookie 可以根据任何人的需要进行更改,并且您的任何代码都不会运行来监视此类更改,即使此类事件存在。

我能想到的可能的替代解决方案是:

  1. 将数据存储在服务器端,您可以在其中控制存储的安全性。您要么需要一个登录系统,要么您可以对浏览器进行唯一的 cookie(就像购物车一样),这样您就知道哪些服务器端数据属于该浏览器。那么,在没有您参与的情况下,用户永远没有机会修改数据。
  2. 将数据存储在多个位置,然后比较每个位置的值。这并不能阻止坚定的黑客最终破解您的系统,但它比仅仅编辑 cookie 值要困难得多。例如,您可以将该值存储在几个 cookie 和本地存储中。甚至可以在闪存中存储类似 cookie 的内容。请注意,这比实际的安全性更加模糊,但它可以挫败除真正坚定的黑客之外的任何人。
  3. 对数据进行加密和校验,以便在您确定数据已被编辑或没有人首先弄清楚您的加密或校验和算法的情况下,不容易对其进行编辑。再说一次,这是一种模糊处理,但它可以防止随意的 cookie 编辑。

将数据存储在服务器上是实现真正安全的唯一选择。

<小时/>

如果您只想查看页面加载时 cookie 是否发生更改,那么您可以简单地将页面加载时的 cookie 值加载到变量中,然后定期使用 setInterval() 轮询 cookie 值。查看是否已被修改。或者,如果您只想知道它是否在页面中的某些执行点(例如表单提交之前)被修改,您可以在这些时间点检查当前的 cookie 值与原始变量。

关于javascript - jQuery JavaScript有没有一种监听cookie变化的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16389170/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com