【问题标题】:File download with token - Secure [directory] files with nonces使用令牌下载文件 - 使用随机数保护 [目录] 文件
【发布时间】:2012-03-20 01:29:50
【问题描述】:

我不知道这种技术的名称,但我会根据我的所见和理解进行描述。

最初是用来保护服务器上的文件的。

例如,这是一个PDF文件的链接,http://www.ee.ryerson.ca/~jaseem/pub/L3_WLAN.pdf,我可以轻松下载。

让我们现在尝试在http://av.vimeo.com/91289/159/66395917.mp4下载这个文件

服务器响应错误:An error occurred while processing your request. Reference #50.2c1b434d.1332206487.dadf1f

所以要下载 MP4 文件,我必须有这样的令牌:1332206979_99377a4999e218448c89adce520781db

然后现在尝试使用 URL 上的令牌链接,我可以轻松下载它。 http://av.vimeo.com/91289/159/66395917.mp4?token=1332206979_99377a4999e218448c89adce520781db

我的问题是如何保护或保护我服务器上的文件并允许人们在他们有代码或令牌的情况下下载它们???

【问题讨论】:

  • 生成一个随机数。给出随机数。下载开始后忘记随机数。

标签: file download token


【解决方案1】:

这样做,下面的令牌以秒为单位持续一天。

<input  type="hidden" name="nonce" value="<?php echo nonce('token'); ?>" />

function nonce($expires=86400, $str){ // generates a secure nonce
    return sha1(date('Y-m-d H:i',ceil(time()/$expires)*$expires).$str.$salt);
}

【讨论】:

  • 这是一个解决方案!但我想保护更多我的文件。例如这个文件没有令牌就无法访问av.vimeo.com/91289/159/66395917.mp4 让我们更改文件名,服务器仍然禁止我访问该文件并显示错误。这是一种保护文件免受外部访问的方法,但应用程序可以在有令牌的情况下读取文件。
  • 我有个主意...为什么不拒绝所有人在您的文件存储库中使用 htaccess,比如说 /files/。然后,当对文件发出请求时,它会通过 /download.php 但您的 php 引擎仍然可以访问文件存储库...我的意思是从那里您只需镜像二进制文件并设置标题和中提琴。
猜你喜欢
  • 1970-01-01
  • 2018-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-23
  • 1970-01-01
相关资源
最近更新 更多