我有使用 SWFObject 嵌入 PHP 页面的 swf 文件。这些 swf 文件与我的 PHP 文件位于同一目录中。例如,www.myurl.com/index.php 嵌入了 www.myurl.com/flashfile.swf,index.php 和 flashfile.swf 位于同一目录中。但是我想阻止人们输入 www.myurl.com/flashfile.swf 并查看 swf。我希望浏览器拒绝访问此文件,除非它已被 PHP 文件嵌入。我是否应该将我的 swf 移动到另一个文件夹并以某种方式保护此文件夹 - 是否使用 .htaccess 文件?
我在 Linux 机器上运行 Apache。虽然我主要关注的是 swf 文件,但我也想保护网站上使用的图形。
感谢所有帮助,谢谢
答案1
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|swf)$ yourdomain.com/goaway.jpg [NC,R,L]
答案2
重要的是要意识到某些内容必须下载后才能显示,例如图形。您添加的任何“阻止”下载的内容都将受到限制。但是,在大多数情况下可以阻止直接链接,但聪明的脚本仍然可以设置 REFERER。
从 Flash 服务器流式传输的 Flash 也使得下载和热链接更加困难。为了控制 Flash,可能需要研究这一点。
不过我喜欢 Mike 的解决方案,我给了他+1。