限制访问(某些)上载/下载的简单解决方案


11

初始情况

对于要设置的网站,我正在研究确保上传/下载安全并根据用户角色/功能限制对它们的访问的整个领域。当然,我已经阅读了一些与(通用)主题相关的先前问题,出于参考的原因,我发现了最重要/最有趣的问题:

补充说明

通常,额外提高Wordpress安装的安全性(例如保护您的安全)并不是一个坏主意,wp-config.php您可以做很多事情,应该做很多事情。那里有大量的信息如何做到这一点。我是在这个问题的背景下,最关心我的上传/下载。

Wordpress上传不受保护,每个人都可以浏览该uploads文件夹,除非您使用以下命令阻止它.htaccess

Options All -Indexes

.htaccess文件必须放置在uploads文件夹内。但这并不能真正保护它们,只是使查找文件变得更加困难。另外,您可以防止hotlinking,本质上限制访问基于referrer-尽管我认为我提到的情况有些不同,但我不再赘述,您可以找到很多有关此的信息。

当然,可以将帖子设为私有,也可以使用合适的模板文件创建自定义帖子类型,以将该帖子类型设为私有,但这不能保护您的文件。对于将文件包装在类似is_user_logged_in()或的条件中可以说是相同的is_admin()

在旁注中,有很多插件可以保证您的文件安全和受保护,但是其中许多插件只是假装这样做,其中一些原因已在上面。我只是想点出来,因为我很确定每个人都不知道它-因此,请注意这一点。

目的

我的意图是能够限制对(某些)上传和下载的访问。为确保不需要的任何人都可以访问它们,不是偶然的,或者是有人知道文件名,这些文件应该真正是私有且安全的。毕竟,只有某些人可以无例外地访问。

另外,我不需要将整个网站私有化,的确会适得其反-它用于公开演示。此外,我希望该解决方案易于使用,原因很简单,因为与之合作的某些人并非完全是计算机专家,通常是这样。

因此,问题是,是否存在(相对)简单的方法来限制对(某些)上传和相应下载的访问?就像我进行的那样,这意味着真正保护和保护它们的方法吗?


您应该将解决方案添加为答案,而不是将其嵌入问题中。
s_ha_dum 2013年

并且请使用正确的大写/小写字母。像聊天一样读...
kaiser

感谢您的建设性批评,我将尽快对其进行编辑和重组。
Nicolai

Answers:


8

我在这里回答我自己的问题,因为我找到了解决方案,但是我真的很感兴趣您对此的看法。或者,也许您有一个更好的解决方案,如果是这样,我真的很想在这里解决。

研究成果

我的研究结果是:
1.将文件移到文档根目录,www文件夹之外;
2.禁止直接访问包含文件的文件夹;
3.让脚本处理对文件的请求;
这些问题的来源(至少大部分是)包含在我的问题中。

  1. 我安装了插件» wp-downloadmanager «
    • 在此过程files中将创建一个名为的文件夹wp-content
  2. 我向.htaccessfiles文件夹添加了一个文件:
    • 的内容.htaccess
      Options All -Indexes
      Order Deny,Allow
      Deny from all
  3. 我更改了插件的一个重要选项:
    • 我的选择是download method;
    • 我把它改成了output file
  4. 我通过插件界面添加了一些文件:
    • 有一个选项叫做allowed to download;
    • 允许根据用户角色/能力限制访问;
  5. 我做了一些测试:
    • 不能直接访问文件-不能通过地址栏或wget访问;
    • 可以通过其永久链接来进行公共下载-我在选项面板上选择了»很好的永久链接:是«和»下载URL:文件ID«–地址栏/ wget也可以正常工作;
    • 只有以具有正确角色/能力的用户身份登录时,才能访问受保护的受限下载;

结论思想

我认为该解决方案几乎遵循研究结果。除了将文件放在外面。但是,限制访问/保护目录并让脚本处理文件请求已完成。访问的限制由.htaccess和处理,在这种情况下,脚本是plugin wp-downloadmanger

补充说明

  • 这是绝对必要的改变download method,以output file
  • 当然,文件必须.htaccess到位

  • 要检查插件是否接管脚本的角色,请看一下wp-downloadmanger.php-关于207至227行(版本1.6.1);这是链接信息的补充点

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.