如何防止 Amazon S3 文件系统对 swf 文件进行热链接?Flash 文件不发送 http 引用,因此我尝试设置存储桶策略以限制 Amazon 上的某些引用,但没有成功。
而我的服务器上的这个典型的防热链接 .htaccess 不起作用:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mysite.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|swf)$ mysite.com/goaway.jpg [NC,R,L]
.htaccess 和 mod_rewrite 对其他东西(如 WordPress 永久链接)确实运行正常,因此我认为这不是 mod_rewrite 的共享主机范围内的问题。
我在 Flash 嵌入中使用的 URL 重要吗?:http://mybucketname.s3.amazonaws.com
答案1
最好的方法是让代码在您的页面上生成一个具有较短生命周期的 S3 预签名 URL。例如,如果对象总是在 60 秒内下载,您可以生成一个有效期为 60 秒的签名 URL。60 秒后,用户无法重复使用相同的 URL。他们将无法再将该对象嵌入到他们的页面上,因为每个请求仅在 60 秒内有效。
您可以在这里阅读有关签名 URL 的更多信息: http://docs.amazonwebservices.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html