热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Flash中访问Cookie?-HowdoIaccesscookieswithinFlash?

ImlookingtograbcookievaluesforthesamedomainwithinaFlashmovie.Isthispossible?我想在Fla

I'm looking to grab COOKIE values for the same domain within a Flash movie. Is this possible?

我想在Flash电影中抓取同一个域的COOKIE值。这可能吗?

Let's see I let a user set a variable foo and I store it using any web programming language. I can access it easily via that language, but I would like to access it via the Flash movie without passing it in via printing it within the HTML page.

让我们看看我让用户设置变量foo并使用任何Web编程语言存储它。我可以通过该语言轻松访问它,但我希望通过Flash电影访问它,而不通过在HTML页面中打印它来传递它。

7 个解决方案

#1


11  

If you just want to store and retrieve data, you probably want to use the SharedObject class. See Adobe's SharedObject reference for more details of that.

如果您只想存储和检索数据,则可能需要使用SharedObject类。有关详细信息,请参阅Adobe的SharedObject参考。

If you want to access the HTTP COOKIEs, you'll need to use ExternalInterface to talk to Javascript. The way we do that here is to have a helper class called HTTPCOOKIEs.

如果要访问HTTP COOKIE,则需要使用ExternalInterface与Javascript通信。我们这样做的方法是有一个名为HTTPCOOKIEs的帮助器类。

HTTPCOOKIEs.as:

import flash.external.ExternalInterface;

public class HTTPCOOKIEs
{
    public static function getCOOKIE(key:String):*
    {
        return ExternalInterface.call("getCOOKIE", key);
    }

    public static function setCOOKIE(key:String, val:*):void
    {
        ExternalInterface.call("setCOOKIE", key, val);
    }
}

You need to make sure you enable Javascript using the 'allowScriptAccess' parameter in your flash object.

您需要确保使用flash对象中的'allowScriptAccess'参数启用Javascript。

Then you need to create a pair of Javascript functions, getCOOKIE and setCOOKIE, as follows (with thanks to quirksmode.org)

然后你需要创建一对Javascript函数,getCOOKIE和setCOOKIE,如下所示(感谢quirksmode.org)

HTTPCOOKIEs.js:

function getCOOKIE(key)
{
    var COOKIEValue = null;

    if (key)
    {
        var COOKIESearch = key + "=";

        if (document.COOKIE)
        {
            var COOKIEArray = document.COOKIE.split(";");
            for (var i = 0; i 一旦你的flash项目中有HTTPCOOKIEs.as,并从你的网页加载了HTTPCOOKIEs.js,你就可以从你的flash影片中调用getCOOKIE和setCOOKIE来获取或设置HTTP COOKIE。

This will only work for very simple values - strings or numbers - but for anything more complicated you really should be using SharedObject.

这只适用于非常简单的值 - 字符串或数字 - 但对于任何更复杂的事情,您确实应该使用SharedObject。

#2


0  

I believe flash objects have functions accessible through Javascript, so if there's no easier way, you could at least use a Javascript onload handler and pass document.COOKIE into your flash app from the outside.

我相信flash对象具有可通过Javascript访问的功能,所以如果没有更简单的方法,你至少可以使用Javascript onload处理程序并将document.COOKIE从外部传递到你的flash应用程序中。

More info here: http://www.permadi.com/tutorial/flashjscommand/

更多信息:http://www.permadi.com/tutorial/flashjscommand/

#3


0  

You can read and write COOKIEs (Local Shared Object) from flash. Flash COOKIEs are stored on your PC within a directory with the name of your domain. Those directories are located at:

您可以从闪存中读取和写入COOKIE(本地共享对象)。 Flash COOKIE存储在您的PC上具有域名的目录中。这些目录位于:

[Root drive]:\Documents and Settings\[username]\Application Data\Macromedia\Flash Player\#SharedObjects\

This article from Adobe is a good start.

Adobe的这篇文章是一个好的开始。

#4


0  

Some Googling shows that it can be done by using query strings:

一些谷歌搜索显示它可以通过使用查询字符串来完成:

For web applications, you can pass values to swf by url parameters, and (with action script inside swf) save them to the sandbox.

对于Web应用程序,您可以通过url参数将值传递给swf,并使用swf中的操作脚本将它们保存到沙箱中。

#5


0  

COOKIEs are available to Javascript through document.COOKIE - try using flash's getURL to call a Javascript function.

COOKIE可以通过document.COOKIE获得Javascript - 尝试使用flash的getURL来调用Javascript函数。

getURL('Javascript:document.COOKIE = "varname=varvalue; expires=Thu, 2 Aug 2001 20:47:11 UTC; path="');

getURL('Javascript:document.COOKIE =“varname = varvalue; expires = Thu,2001年8月2日20:47:11 UTC; path =”');

#6


0  

getCOOKIE method in HTTPCOOKIEs.as should use "return" statement.

HTTPCOOKIEs.as中的getCOOKIE方法应该使用“return”语句。

import flash.external.ExternalInterface;
public class HTTPCOOKIEs
{    
  public static function getCOOKIE(key:String):*   
  {
        return ExternalInterface.call("getCOOKIE", key);    
  }
  public static function setCOOKIE(key:String, val:*):void 
  {
        ExternalInterface.call("setCOOKIE", key, val);    
  }
}

#7


0  

I'm 10 years too late. If you can embed the data you need in the page, it's 10 times easier to grab.

我已经晚了10年。如果您可以在页面中嵌入所需的数据,则可以轻松抓取10倍。

import flash.net.*

var _loader:URLLoader = new URLLoader();
var _req:URLRequest = new URLRequest('https://stackoverflow.com');
_loader.addEventListener(Event.COMPLETE, _onComplete);
_loader.load(_req);

function _onComplete(e:Event):void{
    var wantedData:RegExp = /
(.*?)
/ig; var result:Object = wantedData.exec(String(_loader.data)); trace(result[0].split('
').join('') .split('
').join('')); }

推荐阅读
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 本文介绍了 Confluence 6 中使用的其他 Cookie,这些 Cookie 主要用于存储产品的基本持久性和用户偏好设置,以提升用户体验。 ... [详细]
  • 深入解析Django CBV模型的源码运行机制
    本文详细探讨了Django CBV(Class-Based Views)模型的源码运行流程,通过具体的示例代码和详细的解释,帮助读者更好地理解和应用这一强大的功能。 ... [详细]
  • 本文总结了Java初学者需要掌握的六大核心知识点,帮助你更好地理解和应用Java编程。无论你是刚刚入门还是希望巩固基础,这些知识点都是必不可少的。 ... [详细]
  • 本地存储组件实现对IE低版本浏览器的兼容性支持 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • HTTP协议作为互联网通信的基础,其重要性不言而喻。相比JDK自带的URLConnection,HttpClient不仅提升了易用性和灵活性,还在性能、稳定性和安全性方面进行了显著优化。本文将深入解析HttpClient的使用方法与技巧,帮助开发者更好地掌握这一强大的工具。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有