【问题标题】:Secure file downloads in dotnetnukedotnetnuke 中的安全文件下载
【发布时间】:2010-07-22 17:18:53
【问题描述】:

我对 dotnetnuke 比较陌生,我正在尝试建立一个简单的站点,该站点将有多个用户组和他们自己的文件集,然后另一个用户可以访问所有文件。

我目前正在使用“文档”模块进行此操作,并将该模块隐藏在所有用户和特定公司用户之外。这工作正常,但安全似乎只是默默无闻的安全。

如果我以用户 A 的身份登录并访问文件 A 并复制其 url。然后我注销并以看不到该文件的用户 B 身份登录。如果我然后将文件 url 放入浏览器,它似乎下载正常。

谁能告诉我我做错了什么,或者文件下载没有基于实际用户的安全性?我已经尝试使用实际的文件管理器并使目录明确地对用户 B 不可见(它们也是安全目录),但它仍然存在。我是否在某处缺少文件级别的权限选项,或者安全性旨在阻止您找到指向文件的正确链接?我承认这些链接是不可猜测的(url 中没有连续的 id 或任何类似的愚蠢的东西),但我仍然对像这样的安全工作有点不舒服......

【问题讨论】:

    标签: security dotnetnuke


    【解决方案1】:

    DNN FileManager Module

    嗨,克里斯,

    请查看上述链接中的 FileManager 模块。您是正确的,当前的 FileManager 模块不允许每个用户角色进行访问。您可能会检查 Snowcovered 是否有可能的替代品?

    【讨论】:

    • 感谢您的确认。将检查积雪,但希望内置的模块能满足我的要求,而不必评估第三方模块。 :)
    【解决方案2】:

    看来我做错了什么。我正在引用该文件的不同版本,该文件没有附加任何权限。我似乎也不需要多个文档模块,因为如果一个文件没有读取权限,它只会隐藏在列表中。

    总结一下,DNN 文档模块进行基于角色的安全性,以防止未经授权的用户下载文件并在文档视图中看到它。

    【讨论】:

      【解决方案3】:

      文档模块为路由到 ASP.NET 的 LinkClick.aspx url 提供安全性。

      如果实际文件位于站点根文件夹下的文件系统中,则这些文件的直接 URL 由 IIS 提供和保护。 例如,为了防止未经授权访问直接 url,您可以禁用匿名身份验证并设置具有 NTFS 权限的基本身份验证。

      如果不想接触 IIS 和管理 Windows 帐户,则不能将文件直接存储在任何公开可用的 IIS 文件夹下。 ASP.NET 应用程序级别的安全性是使用文件加密或将文件存储在公共 IIS 文件夹之外(如数据库中)来实现的。 DNN 文件管理器提供以下两个选项:文件系统中的安全文件夹和数据库中的安全文件夹。

      还有第三方模块来管理文件安全和共享,例如NukeTransfer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-05
        • 1970-01-01
        • 2020-07-14
        • 1970-01-01
        • 2012-11-11
        • 2018-08-16
        • 2012-06-18
        相关资源
        最近更新 更多