如何保护 swf 文件不被查看?

Posted

技术标签:

【中文标题】如何保护 swf 文件不被查看?【英文标题】:How to protect swf files from being view? 【发布时间】:2010-11-22 12:42:32 【问题描述】:

我有几个 .swf 游戏文件上传到我的服务器。我想进行一些测试,但我不想公开或让公众/其他人看到我们的 swf 文件。目前,如果我输入:

www.domain.com/games/game1.swf

它将播放 swf 文件。

我尝试访问其他一些基于 Flash 游戏的网站。当我访问其中一个 swf 文件(例如 www.xxx.com/folder/flash.swf)时,它会将我重定向到主页(www.xxx.com)

这是防止公众查看我的 swf 文件的正确方法吗?

有很多swf-to-fla反编译第三方软件,我的swf文件会安全吗?

我的 swf 文件会被黑客入侵/窃取(代码和图形)吗?

一旦您的 swf 文件被黑客入侵,我的网站会不会受到网络攻击?

如何保护 swf 文件?

请帮忙

【问题讨论】:

【参考方案1】:

你有很多问题在这里。

当我访问其中一个 swf 文件时...它会将我重定向到主页...

我怀疑这是通过在加载 .SWF 页面时检查“HTTP_REFER”来实现的。如果你愿意,你可以这样做。

这是防止公众查看我的 swf 文件的正确方法吗?

没有。根据您运行的服务器,您应该在文件夹“/TestSwfs”上进行一些身份验证,然后将所有 swfs 上传到那里,您需要先登录。在 IIS 和 Apache 中执行此操作相当简单,但请告诉我们您正在运行哪一个。

swf-to-fla反编译第三方软件很多,我的swf文件会安全吗?

我怀疑不是。虽然可能有SWF Obfuscators,但它们仍然可以反转。

一旦您的 swf 文件被黑客入侵,我的网站会不会受到网络攻击?

应该没关系。您不应该在您的 SWF 中包含您不想公开的秘密/密码。你可能正在写高分,你可以通过做一些加密或其他类似的事情来增加所需的复杂性,但实际上,对于高分来说,这可能并不重要。

设计您的 SWF 代码,以便即使它是公开的,您的服务器也是安全的。

【讨论】:

感谢您的快速回复。 1. 检查 HTTP REFER?你的意思是? 2. 我正在使用 IIS。是的,我需要在游戏开始前登录。每个游戏 swf 文件,我都会登录检查用户是否已登录??你是这个意思吗? 3. 我明白了。我同意你的看法 4. 我的密码存储在数据库(mysql)中,php 是中间人 5.“设计你的 SWF 代码,即使它是公开的,你的服务器也是安全的”有点难以消化.. 1.您在代码中检查此字段。我假设您不是网络程序员?那么你要正确地实现这一切会有点困难...... 要在IIS中做文件夹安全的事情,开始->运行->inetmgr然后找到文件夹,右键单击,属性,取消选中“匿名访问”,然后你可以查看您拥有的“经过身份验证的访问”选项。我会使用集成 Windows,所以只需使用具有适当权限的 Windows 帐户即可。 1.像这样做一个简单的检查: if ( eregi ( "www.mysite.com", $_SERVER['HTTP_REFERER'] ) ) then let it view my swf 这就是你的意思吗?我正在使用 php 尝试取消选中“匿名访问”,但我仍然可以在不登录的情况下运行 swf 文件。嗯...我需要重新启动我的服务器吗? (我不这么认为)【参考方案2】:

Silky 的回答还有一点。

您应该在您的 SWF 中正确实现 REST Api,这将假定即使有人可以破解您的 swf(这很容易),也无法登录到您的服务器并操作任何数据或将其关闭。

您不应该使用直接 api 直接更改数据库,您应该始终使用 web 服务而不是数据库连接工具。

【讨论】:

以上是关于如何保护 swf 文件不被查看?的主要内容,如果未能解决你的问题,请参考以下文章

如何保护解密密钥不被反编译?

如何在 Laravel 5 中保护图像不被公众看到?

如何在 Laravel 5 中保护图像不被公众看到?

如何保护上传的文档不被 Web 表单直接访问

如何在Mac上播放和查看SWF文件

如何防止SWF文件被反编译