有的时候你可能不希望你制作的swf文件被人下载,因为现在的反编译技术确实很厉害,可能什么时候被人down了、破解了,里面的东西也就没了。一般,服务器上的swf文件会被下载到客户端的IE缓存里,熟悉的人就可以从缓存里获得你的swf文件,如何能使swf文件不出现在客户端的IE缓存里呢?
网上搜索得到如下结果:
使swf文件不出现在客户端的IE缓存里的实现方法就是在Apache
Server配置文件(httpd.conf)中加入下面几句:
ExpiresActive On
header append cache-control: "no-cache"
header append pragma: "no-cache"
header append expires: "-1"
按照这样处理后重启Apache服务器时,却启动不起来。弄半天才发现Apache默认的是没有加载expires和headers模块,而只有加载这两个模块后,才允许通过配置来使一些文件马上过期,从而不在客户端IE缓存里出现。如果你真的想隐藏你的swf文件,那么先通知Apache加载这两个模块,做法仍然是更改httpd.conf文件,找到下面两句,将前面的#去掉。
#LoadModule expires_module modules/mod_expires.so
#LoadModule headers_module modules/mod_headers.so
完成以后再按最前面的更改httpd.conf文件。最后重启Apache服务器。
清空IE缓存,然后再访问含有swf的网页,再去缓存里看看,swf文件是不是没有出现在缓存里了呢!?
这样虽然能将swf藏起来,但是加载这样的网页就会缓慢,因为没有缓存可读以后,每次都要重新加载。看来,什么事情都有利有弊!