问题描述
|
我对Web开发有点陌生,因此请原谅这个稍有初学者的问题。谁能给我一些有关在使用JavaScript / Flash小部件显示内容时如何防止文件下载的一般指示?
基本的难题是使页面小部件可播放文件,同时阻止直接下载源媒体。但是,由于JavaScript和Flash是浏览器端而不是服务器端,所以我不确定如何做到这一点。
混淆源文件名是另一种选择,但是我不确定执行此操作的好方法。也许在.swf文件中隐藏了算法?虽然不确定如何逆向编译.swf。
谢谢你
解决方法
实际上,您不能。有两种下载类型:正常(直接),另一种则通过流式传输。
我建议您使用直接密钥,但要同时传递一个授权密钥。
这样的URL的示例如下所示:
/download?file=134&auth=A34C56E4FCD3908DA
^ ^ ^
| | \'- The predefined access token
| \'- The requested file
\'- Gateway script
不要忘记,您必须将敏感文件存储在文档根目录之外的某个位置。
网关脚本看起来像(伪代码):
if( validate_token( get(\'auth\') ){
file_id = get(\'file\');
file_name = get_file_name( file_id );
data = file_read_all( file_name );
}
, 如果您打算防止他人偷走您的源代码,则您将无能为力,因为需要由浏览器下载javascript。您可以将关键代码翻译成某种服务器端语言,然后仅将其输出传递给brwoser(或flash)。或尝试使用一些服务器端JavaScript引擎