gpt4 book ai didi

Javascript 桥接闪存以在闪存中存储 SO "cookies"

转载 作者:行者123 更新时间:2023-11-29 20:26:18 24 4
gpt4 key购买 nike

在阅读这个问题后 How do I uniquely identify computers visiting my web site?:

A possibility is using flash cookies:

Ubiquitous availability (95 percent of visitors will probably have

flash)

You can store more data per cookie (up to 100 KB)

Shared across browsers, so more likely to uniquely identify a machine

Clearing the browser cookies does not remove the flash cookies.

You'll need to build a small (hidden) flash movie to read and write them.

我试图找出是否有人已经做过类似的事情,这样我就不必重新发明轮子了。到目前为止,没有运气(也许我不知道搜索的正确术语),除了 code in the flash side

我对此的用途是防止用户多次回答测验,但 future 的用途可能是禁止喷子。

有谁知道可以执行此操作并允许我通过 javascript 访问的开源库?

警告:我不懂 Flash,也没有许可证。

编辑:您可以使用 evercookie 来做到这一点.这有点邪恶,但有效。

最佳答案

要以 rmeador 所说的为基础,并帮助您入门,您将需要知道如何使用 FLEX3 API 中的两个类,SharedObjectExternalInterface .

SharedObject 将允许您从客户端计算机存储和检索数据,ExternalInterface 将允许您的 actionscript 与您的 javascript 通信。

使用共享对象很简单。

要将数据放到用户机器上,只需创建一个 SharedObject 并将属性添加到 sharedObject 的数据属性。

  private var sharedObject : SharedObject = SharedObject.getLocal("myCookie");
sharedObject.data.DATA_FOR_THE_COOKIE = DATA;

从 SharedObject 中检索数据同样简单。确保 SharedObject 的大小大于 0(确保 SharedObject 存在)并通过 SharedObject 的数据属性查找属性名称。

if(sharedObject.size > 0)
// access data from cookie with -> sharedObject.data.DATA_FROM_THE_COOKIE;

要将存储在 SharedObject 中的数据传递给您的 javascript,您需要使用 ExternalInterface。

假设您有一个 javascript 函数来检索变量

function retrieveVars( vars ){
// Do something with vars.
}

要从您将使用的 actionscript 调用此函数

ExternalInterface.call("retrieveVars", DATA_ITEM_1, DATA_ITEM_2, ...);

就这么简单。

<我>请注意,如果客户端的 Flash 播放器将其存储设置设置为 0,或者如果客户端的浏览器没有 ActiveX 或 NPRuntime,则此技术将不起作用。

关于Javascript 桥接闪存以在闪存中存储 SO "cookies",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/483678/

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