代码之家  ›  专栏  ›  技术社区  ›  orcmid

未检测到Flash 10:世界上最普遍的网络视频漏洞?

  •  2
  • orcmid  · 技术社区  · 17 年前

    问题是:确保您在网站上对Flash版本“x”的要求能够正确检测到更高版本的Adobe Flash Player版本“10”(或“1y”)的存在的最佳方法是什么?

    现在有一个谜:为什么这么多需要Flash Player版本8和9或更高版本的网站无法检测到Flash Player版本10?

    这是我帖子中彩色屏幕截图中的有趣背景。” WTF: The Adobe Flash Version 1x Crisis ."

    更新2: 从那以后,我已经确认,我看到的问题不是对同一版本或更新版本的不恰当比较。似乎有些客户端检测无法确定是否安装了任何Flash Player,更不用说它是什么版本了。我还发现,如果我以管理员身份运行,我就没有问题:Flash 10的检测工作正常。这使得这罐蛇比我最初想象的要大。我还没有准备好改变这个问题的标题,我将继续剖析客户端代码,看看会有什么奇妙的逻辑展开。 Details on these latest revelations 在我的博客上。

    更新: 虽然我做了搜索,但我错过了相关问题” Why don't flash videos play after upgrading to Flash 10? “那里的猜测很有趣,但它们并没有深入到底。此外,尚不清楚李维斯的问题是如何解决的。有趣的是……也许我们可以在这里找到事情的真相。


    背景

    我设法以全新安装的方式安装了新的Adobe Flash Player 10.0.12.36版本(使用Adobe提供的卸载程序删除了以前的版本)。

    当我无法播放哥伦比亚广播公司电视网站上最新的NCIS节目时,我第一次感到失望,不是高清的,也不是普通的老标准。但我可以在Hulu上播放我最喜欢的节目的视频。我越是四处寻找,就越是发现那些你没有的讨厌的东西——Flash,你新的Flash版本,你的Flash旧消息版本,提供了一个下载按钮。

    每次我点击下载/更新按钮,并告诉Adobe网站进行安装(如果尝试安装,应该会失败,因为我不是以管理员身份运行),我已经拥有的10.0.12.36版本都会立即得到确认,并且没有尝试更新。

    好奇吧?


    挑战

    我想我确切地知道人们使用的Flash检测脚本中最有可能的错误是什么。它太多汁了,不是虫子。

    现在,这并不意味着所有未能检测到版本10的网站都会出现同样的错误。我只是觉得我想到的那个很有可能。我可能应该把我的理论密封在某个信封里。同时,让我们看看StackOverflow社区能提供什么,以及我们得出的结论是什么。

    我说这个bug真的很简单,也很有趣。你说呢?

    3 回复  |  直到 9 年前
        1
  •  2
  •   Matt Rogish    17 年前

    我的猜测是javascript正在进行字符串比较,在字符串土地中,“10”< "9".

    此外,Flash10在一定程度上改变了他们的安全模型(破坏了我使用的一个名为SWFUpload的工具),因此它可能与此相关(参见: http://benr75.com/articles/2008/11/25/swfupload-with-flash-10-fix )

        2
  •  1
  •   P Arrayah    17 年前

    我的猜测是通过“获取'.'之前的字符并将其转换为数字”来检测字符串,这类似于“Flash Player版本X.Y”。我自己也做过几次,这很愚蠢。

        3
  •  1
  •   Greg    17 年前

    不幸的是,问题是由于版本检测不佳造成的 随闪存一起发货 没错,它实际上是由Adobe Flash创建的劣质代码(不确定是哪个版本),这就是它如此普遍的原因。

    我个人使用 swfObject 嵌入flash。