使文件只能由JavaScript和/或Flash读取

时间:2011-06-06 21:53:48

标签: javascript flash filesystem-access

我对网络开发有点新意,请原谅稍微初学的问题。任何人都可以给我一些关于如何在使用JavaScript / Flash小部件显示内容时阻止下载文件的一般指示吗?

基本的困境是使文件可以通过页面小部件播放,同时防止直接下载源媒体。但是,由于JavaScript和Flash是浏览器端而不是服务器端,因此我不确定如何执行此操作。

模糊源文件名是另一种选择,但我不确定这样做的好方法是什么。也许隐藏在.swf文件中的算法?但不确定反向编译的能力是多少.swf是。

非常感谢。

2 个答案:

答案 0 :(得分:1)

事实上,你不能。有两种类型的下载;正常(直接)一个和一个通过流媒体。

我建议你使用直接的,但是传递授权密钥。

此类网址的示例如下所示:

/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 );

}

答案 1 :(得分:1)

如果您打算阻止某人窃取您的源代码,您就无法做任何事情,因为javascript需要通过浏览器下载。您可以将关键代码翻译成某种服务器端语言,并仅将其输出传递给brwoser(或flash)。或尝试一些服务器端的JavaScript引擎