0

我应该将下载文件放在哪里?

这些不应该对公众开放。但应该可供注册用户访问。

我的目录结构如下。

-application -system -downloads
--- abc.7z
-index.php

可以看出,用户可以通过以下方式直接访问下载。

127.0.0.1/CI/downloads/abc.7z

但为了使其受到限制,我添加 .htaccess了以下指令

Deny from all

它现在不受公共访问的保护,但我无法从我之前所做的视图中访问它,如下所述。
<a href="<?php echo base_url().'/downloads/abc.7z' ?>">click here to download</a>

4

1 回答 1

1

要使文件仅供注册用户下载,您可以对用户隐藏实际文件名。

  1. 维护一个表以映射关键字(唯一)和实际文件名。

  2. 提供一个指向控制器方法的链接,其中参数作为文件的关键字(不要显式显示文件名)。

  3. 根据映射读取文件并将文件名更改为随机密钥(例如会话 ID),然后作为下载提供。

于 2013-08-19T17:37:45.577 回答