隐藏/加密或以其他方式更改drupal中mp4文件的路径

时间:2012-08-25 18:18:29

标签: drupal drupal-7

我有视频文件(mp4,因为我希望人们能够在ipads上查看它们等),我为用户提供服务。但是,其中一些视频仅适用于拥有一定数量用户点的用户。我的工作是,如果用户没有足够的用户点,他们就无法查看节点。所有用户都具有相同的角色(视频查看器),问题是拥有足够用户点的用户可以查看节点,获取视频的网址,然后将其提供给具有视频查看器角色的用户但不会没有足够的用户点,然后该人可以直接下载该mp4。

如果用户无法访问节点或以某种方式隐藏文件路径,只需寻找限制访问mp4文件的方法。我将mp4存储在私有文件系统中,但由于用户具有相同的角色,因此无法解决问题。

我有这个(http://www.ioncube.com/html_encoder.php)处理我的网站空间中的静态页面(非drupal页面),但无法让它在我的drupal设置中运行。当我在我的节点中包含php代码以包含php文件时,它只给我一个空白页面。

非常感谢

1 个答案:

答案 0 :(得分:1)

关于Drupal文档还没有多少我可以这么说。

http://drupal.org/documentation/modules/file#access

  

管理文件位置和访问权限

     

创建文件字段时,可以指定站点文件系统的子目录,其中将存储此内容类型的上载文件。站点的文件系统路径在文件系统页面上定义(管理>配置>介质:文件系统)。

     

您还可以指定文件是存储在公共目录中还是存储在专用文件存储区中。公共目录中的文件可以直接通过Web服务器访问;列出公共文件时,使用指向文件的直接链接,知道文件URL的任何人都可以下载该文件。私有目录中的文件无法通过Web服务器直接访问;列出私有文件时,链接是Drupal路径请求。这增加了服务器负载和下载时间,因为Drupal必须解析每个文件下载请求的路径,但允许访问限制。

     

公共文件的最佳做法是将它们存储在多站点目录中,例如:sites / default / files

     

为文件安全地添加私人目录的默认方法是使用Web服务器无法直接访问的目录,但Drupal可以访问该目录。理想情况下,此目录应位于Drupal根文件夹之外。

     

为文件添加私人目录的简单方法是在公共目录下创建一个子目录,如:sites / default / files / private

     

当您在admin / config / media / file-system中指定私人目录时,它将自动创建子目录&用Deny创建一个简单的.htaccess文件。这会阻止Apache从此目录提供文件。确保通过将文件添加到该目录并验证您无法直接在该目录中进行测试来进行测试。如果这不起作用,任何可以猜到URL的人都可以访问此目录中的所有文件!请注意,非Apache Web服务器可能需要其他配置来保护专用文件目录。

     

访问私人文件

     

配置完成后,存储在私人目录中的文件无法通过直接链接访问;但是,如果Drupal构造了一个指向该文件的链接,那么任何可以看到该链接的人都可以访问该文件。

     

例如:您创建了一个新的内容类型,其中包含一个文件字段,用于存储站点私有文件目录中的文件。接下来,您将从此新内容类型创建一个节点并附加两个新文件。发布节点时,可以看到指向这两个附加文件的链接,任何可以查看该节点的人都可以下载这些文件。现在,如果取消发布该节点,即使您使用指向发布节点时工作的文件的直接链接,也无法下载所有附加文件。

     

重新发布节点,并禁用其中一个文件的“显示”复选框。保存节点。现在,一个文件可供公共下载访问,另一个文件无法访问 - 即使您没有列出的文件的直接URL,您也无法下载此文件。

     

为了更好地控制谁可以查看/下载附件,您需要一个额外的访问控制模块。您可以自己编写模块,也可以使用Content Access等贡献模块。