Noob关于私有文件和内容访问的问题 -- 7 领域 和 media 领域 和 users 领域 和 files 领域 drupal 相关 的问题

Noob question about private files and Content Access


3
vote

问题

中文

这几乎肯定是一个非常愚蠢的问题,但我们构建的Drupal 7网站有一个图像库,用户可以上传内容。未经身份验证的用户不应该能够看到这些图像,但其他一些rôly应该能够查看其他用户上传的所有图像。我们首次建立它的方式,图像都从Webroot下面的目录显示出来,因此如果他们知道URL,任何人都可以看到图像。

我认为私有文件是我的解决方案,所以我遵循那里的说明,设置我们的文件系统中的一个文件夹(Webroot上方,所以您只能通过Drupal到达那里),并在相应内容类型中更改现场设置以将私有文件用作上载目标,然后去设置一堆自定义权限,以便适当的用户"查看任何人的字段图像" (等等),但匿名用户没有。

然后我清除了所有的缓存,然后上传了一个新图像。如果我转到节点页面并右键单击以获取图像URL,请将其粘贴到匿名浏览器模式窗口中仍然显示图像。

所以我想我也许我只是需要更细粒度的东西或者我实施的东西。 所以我启用了内容访问模块并返回相应的内容类型并设置访问控制设置使适当的Rôly只能"查看任何Galler_Image内容" (等等)。清除缓存,上传另一个新图像,我仍然可以抓住URL并从新的匿名浏览器模式窗口看到它。 现在私有文件似乎正在做正确的事情 - 现在的图像URL /system/files/styles/image_thumbnail/private/gallery/images/filename.jpg ,文件显示在FileSytem的右侧部分,但德鲁佩尔似乎没有尊重访问控制 - 甚至只是要求您登录。<​​/ p> 据推测,我在某处做错了,因为我似乎正在实施正确的东西,我刚刚在某处犯了一个错误。所以有一个明显的一步,我错过了吗?

更新:托管环境是redhat linux,我们不允许 .htaccess 文件(我们开发了该网站,第三方负责安全,所以他们宁愿一切都进入 99887665 而不是)。这是我故意关闭Webroot上方的目录的原因的一部分,因此不需要 99887666 文件。但是,我确实注意到,如果我尝试在浏览器中访问 /system/files/styles/image_thumbnail/private/gallery/images/ ,我得到一个drupal 403消息,而不是apache一个。

英文原文

This is almost certainly a really stupid question, but the Drupal 7 site we're building has an image gallery that users can upload content to. Unauthenticated users should not be able to see these images, but some other rxc3xb4les should be able to see all the images uploaded by other users. The way we first built it, images all show up from a directory below the webroot, so anyone can see the image, if they know the URL.

I thought Private files would be my solution, so I followed the instructions there, setting up a folder in our filesystem (above the webroot, so you can only get there via Drupal) and changing the field settings within the appropriate content type to use Private files as the Upload destination and then went to set a bunch of Custom permissions, so that the appropriate users have "View anyone's value for field Image" (and so on) but that Anonymous users don't.

Then I cleared all the caches and went to upload a new image. If I go to the node page and right click to get the image URL, though, pasting that into an Anonymous Browser Mode window still shows me the image.

So I figured maybe I just needed something more fine-grained or that I'd implemented it wrong.

So I enabled the Content Access module and went back to the appropriate Content type and set the Access Control settings so that only the appropriate rxc3xb4les can "View any gallery_image content" (and so on). Clearing the caches, uploading another new image, I can still grab the URL and see it from a new Anonymous Browser Mode window.

Now the Private files thing seems to be doing the right thing xe2x80x94 the image URL is now /system/files/styles/image_thumbnail/private/gallery/images/filename.jpg and the files are appearing in the right part of the filesytem, but Drupal doesn't seem to be respecting the access control xe2x80x94 or even just requiring that you log in.

Presumably I've done something wrong somewhere, as it seems like I'm implementing the right thing and I've just made a mistake somewhere. So is there an obvious step I'm missing?

Update: The hosting environment is RedHat Linux and we don't allow .htaccess files (we're developing the site, a third-party is responsible for security, so they would rather everything go into the httpd.conf instead). This is part of why I deliberately close a directory above the webroot, so that a .htaccess file would not be necessary. I do notice, though, that if I try to access /system/files/styles/image_thumbnail/private/gallery/images/ in a browser, I get a Drupal 403 message, not the apache one.

           
     
     

回答列表

5
 
vote

我认为这个问题是固定在 sa-core-2012-002 - Drupal核心多个漏洞而不是发布到这样的公共场所。在未来的内容应该是报告给安全团队。而且,如果升级Drupal核心无法修复您的错误,则通过您提交新核心安全问题我们可以弄清楚私有的内容,然后,如果合适,请发布修复错误的补丁。

 

I believe that this issue was fixed in SA-CORE-2012-002 - Drupal core multiple vulnerabilities instead of being posted to a public site like this. In the future something like this should be reported to the security team. And, if upgrading Drupal core doesn't fix your bug let's discuss more details by having you submit a new Core security issue where we can figure out what's going on in private and then, if appropriate, release a patch that fixes the bug.

 
 
 
 
2
 
vote

我也做了一个类似于这的网站。我的设置是NodeAccess,用于在画廊上配置权限,并将文件系统设置为私密,以便用户无法浏览到yoursite.com/sites/all/files/image.jpg这似乎对我有利如果您选择,可以为您提供控制其他内容类型的能力。不确定这是否落下了正确的路径,如果您认为它可能有助于我很乐意与您进一步讨论。

谢谢, 贾斯汀

 

I did a site similar to this also. My setup was nodeaccess to configure permissions on the gallery and setting the file system to private that way a user could not just browse to yoursite.com/sites/all/files/image.jpg this seems to be working great for me and it also gives you the ability to control other content types if you so choose. Not sure if this is going down the right path or not if you think it might help I would be happy to discuss it further with you.

Thanks, Justin

 
 
 
 

相关问题

1  如何在安装过程中自动执行站点设置过程?  ( How can i automate the site setup process during installation ) 
我有这个客户要求: 在安装drupal时,用户需要做大部分配置 他自己。 选择徽标。 选择主题。 选择他想要的网站类型,他喜欢博客,网站,论坛,电子商务以及他做的时候,它应该与自己的配置相处。 我知道我需要使用安装配置文件。有没有其他方法可以做到这一点?如果安装配置文件是唯一的方法,那么我如何达到所有这些...

3  论坛帖子编辑器问题wysiwyg [关闭]  ( Forum post editor problem wysiwyg ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并通过编辑此帖的问题。 关闭 4年前。 ...

0  在视图中收集所有破损链接(链接检查器)  ( Gather all broken links link checker in view ) 
我刚安装了链接检查程序模块,似乎很好的需求。但我没有看到一种方法来收集带有损坏链接的所有节点,例如视图或块。 是否有任何方法可以在视图/块中使用断开链路收集所有这些节点? ...

2  Drupal 7带显示套件和Apache Solr搜索环境  ( Drupal 7 with display suite and apache solr search environments ) 
我有宏伟的显示套件用于搜索结果,但我不能为我的生命弄清楚如何使用它来修改在admin / config / search / apachesolr / search-pages上定义的搜索环境。请有人解释我如何使用DS更改显示屏? 出色。在搜索的周末之后,事实证明这是一个已知的错误(http://drupal.or...

1  创建View(Netflix样式)的翻转工具提示  ( Creating rollover tooltip for a view netflix style ) 
这是我的场景:我正在尝试创建一个显示图像的视图,以及关于翻转的一些附加信息 - 类似于Netflix如何做到的东西,我正在尝试确定最可行的方式。我发现了美容提示 ...

17  如何以编程方式列出有机组的成员实体?  ( How to programmatically list member entities of an organic group ) 
如何以编程方式获取有机组的成员实体列表? (我知道如何使用视图获取组成员列表 - 我更愿意使用有机组API执行此操作,但无法找到合适的方法。) ...

3  如何修复异常终止的Ajax HTTP请求?  ( How to fix ajax http request which was terminated abnormally ) 
我每次都会使用ajax添加分类术语或打开视图页面时每次都会收到此Ajax错误消息,以命名几个。 An AJAX HTTP request terminated abnormally. Debugging information follows. Path: /system/ajax StatusText: err...

3  如何将节点标题设置为面包屑?  ( How do i set the node title as breadcrumb ) 
如何为节点设置面包屑?我有一个节点在菜单中,也是一个包含印记的ID 2的头部菜单。 如果我打开我的页面 http://my.page.tld/imprint (我正在使用SEO的东西)我可以看到我的文字用正确的标题,但没有有用的面包屑。它是 home 而不是主页»印记。 如何修复它? ...

9  如何渲染包括其格式的字段值?  ( How do i render a field value including its format ) 
我从数据库读取字段值及其格式。如何使用格式呈现该值? ...

1  如何根据字段值排除节点索引?  ( How to exclude a node from being indexed based on a field value ) 
我想从Drupal 7安装上基于一个字段值(不是内容类型)来排除一些节点,我找不到钩子让我这样做,请帮忙!谢谢 ...

3  视图:上个月本月的PageView排名用户  ( Views ranking users by pageviews this month last month ) 
我已经创建了一个查看用户通过收到其节点的PageViews的总数来对用户进行排名。我现在想要克隆该查看并创建2个街区: 总计在本月收到他们的节点 总观看他们上个月收到的节点。 我尝试使用上下文过滤器,我可以创建一个视图,以显示日期范围内的总页面views,但这意味着我每个月更新过滤器。我可以做到这一点吗?我不想将...

7  如何正确将CSS添加到我的功能中?  ( How do i properly add css to my feature ) 
我有一个只包含几种视图的功能。如何正确添加样式表? ...

4  使用自定义代码设置主菜单项  ( Set a main menu item as active with custom code ) 
我想将主菜单的菜单项设置为活动(class ="活动" )。 我专门寻找钩子或函数,而不是Control模块。 我已经看到了上下文,我看过模块代码,但它使用钩子我无法在 api-site 。 ...

7  如何在模块列表中显示自定义模块“配置”选项?  ( How do i make the custom module configure option appear on the module list ) 
我已经写了一个简单的模块,它实现 hook_menu() (添加的路径是admin / setting / mymodule")。 在列出所有当前模块的admin / modules页面上,我的模块没有"配置" 链接。我如何实现它,以便在模块页面上可见"管理/设置/ myModule" 的链接? ...

14  如何用斜杠将分类分类层次分类  ( How to separate taxonomy hierarchy in pathauto with slashes ) 
pathauto 似乎具有不同的别名分类学层次结构。 从分类菜单: 分类&gt;汽车&gt;阿斯顿马丁&gt; DB9 Coupe 分类&gt;乔布斯&gt;会计 我想要的是这个网址的东西: 分类广告/作业/会计(不是会计工作 - 分类) (请注意,Pathautho也以反向顺序使用破折号生成此。)...

0  如何将stdclass对象转换为simplexmlElement对象[已关闭]  ( How to convert a stdclass object to a simplexmlelement object ) 
此问题似乎在帮助中心中定义的范围内涉及Drupal。。 想要改进这个问题?更新问题,所以它是关于drupal答案的主题。 ...

7  自动完成文本字段小部件?  ( Autocomplete textfield widget ) 
任何人都知道Textfields的Drupal 7自动完成小部件吗?我尝试了自动完成小部件,但"允许值列表的自动完成" 窗口小部件似乎在Drupal 7中似乎存在 - 只有其他两个小部件显示出来。我的目标是将纯文本存储纯文本,但从用户配置文件字段中自动完成。谢谢! ...

3  网站/默认/文件的奇怪权限问题  ( Weird permissions problems for sites default files ) 
我有与vps上的权限相关的奇怪问题,其中我运行2个drupal 7个网站。 我有一个旧网站,它被迁移在几个托管提供商和VPS设置上。我还有一个新安装的网站。 新的一个完美作品,我可以将它设置为聚合和压缩CSS文件加javascript文件。一切都很顺畅,没有错误。 旧的...每次我设置它来执行此操作时,它给了我错误,...

3  更改Drupal 7中现有节点的菜单路径  ( Changing menu paths for existing nodes in drupal 7 ) 
所以我已经创建了大约100个特定内容类型的文章,并在特定菜单下提供了所有菜单路径。 现在要求是改变这些菜单路径,并为这些节点提供另一个菜单下的新菜单路径。执行此操作的较长和明显的方法是手动编辑每个内容类型,然后编辑菜单路径以编辑并将其指向新菜单。这是一种艰苦的过程,可以消耗时间。我相信有替代品,如Drupal模块,让...

3  “参数#1不是_form_set_class()中的数组是什么?  ( What does argument 1 is not an array in form set class mean ) 
在drupal 7中,我收到此错误并希望修复它: 警告:array_merge()[function.array-merge]:参数#1不是_form_set_class()中的数组({my站点}的行4021 /includes/borm.inc)。 警告:array_merge()[function.arra...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.