2011-04-24 58 views
0

我最近与某人讨论了网站在用户机器上截屏的能力。他认为,使用GUI程序来模拟点击鼠标非常快以赢得简单的Flash游戏,理论上可以通过记录非常高的分数并截取这些玩家的桌面进行版主审查来检测(如果网站足够关注)。我认为,由于所有网站代码都在浏览器中运行,因此无法跨越系统采取这样的屏幕截图。什么用户信息可用于在浏览器中运行的代码?

通过Javascript,Flash或其他任何方法(可接受的或恶意的),可以将这一步放在系统之外,从而更加一般地讨论网站的功能。我们同意至少有一些东西是可以抓取的:操作系统,用户完整桌面的大小。但我们绝对不能同意沙盒内浏览器代码的使用方式。总而言之,他给网站代码的方式比我做得更多。

那么,谁是对的?网站可以使用桌面屏幕截图吗?他们可以枚举所有打开的窗口吗?还有什么可以(或不能)他们做什么?显然,任何这样的代码都必须是特定于操作系统的,但想象一个雄心勃勃的站点愿意编写代码来定位多个操作系统和系统。

谷歌搜索这促使我以相对较少的良好的信息很多红鲱鱼,所以我决定在这里提出

+0

浏览器插件!=浏览器内代码 – Oded 2011-04-24 07:06:06

+0

嗯真的,划伤,编辑。其余的问题仍然存在。 – rotanimod 2011-04-24 07:10:15

+0

哦,除了某些原因,我认为Flash不是插件。好吧,我仍然对Flash的功能感兴趣,因为它是一个自己的沙盒,在这个意义上,网站只能做Flash语言的内容。我没有实际的Flash经验来了解这些功能的局限性。 – rotanimod 2011-04-24 07:36:15

回答

1

一般来说,浏览器的安全模型应该保持它的沙箱中完全包含JavaScript代码。任何有关本地机器的信息都不能反映在窗口对象及其子项的属性中。

另一方面,插件可以免费使用。它们由用户安装,并且可以访问用户可以访问的任何内容。这就是为什么他们能够访问您的网络摄像头,上传文件,进行病毒扫描等。他们还能够将API暴露给JavaScript代码,这会在JavaScript沙箱中挖出一个洞,并为JavaScript代码提供一些外部访问权限。这就是Phonegap这样的工具如何让网络应用程序中的JavaScript代码访问手机硬件(GPS,方向,相机等)

+0

有趣的是,因为Flash是一个插件,所以Flash游戏和其他内容具有用户级访问权限。但Flash语言本身必须为网站提供用户环境监听功能,因为它们必须在该沙箱中运行。像那样的东西? – rotanimod 2011-04-24 07:34:09

+0

没错。我知道Flash支持上传文件,并且能够显示上传进度,这意味着可以执行逐块文件IO。有了这种能力,Flash可以访问任何它需要从机器获取信息的东西。虽然可能没有截图,但至少在没有用户许可的情况下才是如此。 – DougWebb 2011-04-24 07:38:05

相关问题