如果我们创建一个在线SWF应用程序,有没有办法保护它,以便其他人不下载并将其放在他们的网站上?例如,Webkinz是用Flash制作的,但没有人在整个游戏解锁的情况下在他们的服务器上进行盗版.什么是Webkinz,我们可以做什么?
谢谢!
1-使用高级混淆器(如secureSWF)对ActionScript进行混淆.
2-域锁定您的SWF文件.
3-创建虚拟加载器,重命名原始SWF文件并更改其扩展名,然后使用虚拟加载程序加载原始SWF文件.
4-确保防止热链接.(这取决于您的网络服务器)
5-在ActionScript中加密敏感字符串; 在您的代码中手动操作,或者您也可以使用secureSWF.
这主要取决于您的网络服务器软件。如果是 PHP,您可以使用 readfile()。请参阅此处的示例。将 .swf 本身存储在 Webroot 之上,然后在调用 readfile 之前使用一些身份验证。在此设置中,您可以使用 readfile() 调用代替 .swf 来调用 php 文件。
因此,以极其简化的方式,它可能看起来像这样:fakeswf.php:
if (authenticate()) {
header("Content-Type: application/flash");
readfile("../realswf.swf");
}
else {
header("Content-Type: text/html");
echo "Nothing to see here.";
}
Run Code Online (Sandbox Code Playgroud)
索引.html:
<a href="fakeswf.php">Click here to play my game</a>
Run Code Online (Sandbox Code Playgroud)
就浏览器而言(如果您按照示例正确设置标头),fakeswf.php 是一个 .swf 文件。
重要提示:我实际上并没有查找 .swf 文件的正确内容类型。请务必查找并相应地更改它。