【问题标题】:Htaccess to block access to specific Mediawiki page?Htaccess 阻止访问特定的 Mediawiki 页面?
【发布时间】:2012-07-08 06:54:55
【问题描述】:

在 Mediawiki 中,我试图找到一种方法来阻止访问我们的某些模板页面。我不希望我们的一些竞争对手查看我们复杂的代码并为他们的 wiki 窃取它(不幸的是,这在我来自的同人圈中很常见)。因此,当人们尝试查看特定模板页面时,我试图通过将人们重定向到主 wiki 页面来使用 htaccess 来完成此操作。然而,什么都没有发生。这是我使用的:

重定向 /wiki/index.php?title=Template:Box /wiki/index.php

不过,我不确定我正在尝试做的事情是否可行,或者是否应该这样使用 htaccess!

提前谢谢你!

【问题讨论】:

    标签: .htaccess mediawiki


    【解决方案1】:

    简而言之:不要那样做!

    让我引用 MediaWiki 文档的相关部分:MediaWiki is not designed to be a CMS, or to protect sensitive data. To the contrary, it was designed to be as open as possible. Thus it does not inherently support full featured, air-tight protection of private content.

    MediaWiki 无法保证部分读取权限:人们要么能够看到每一页,要么一个都看不到。否则,将有漏洞读取您的宝贵数据。例如,TerryE 的重写规则技巧绝对不会增加安全性:在其他一百种方法中,可以简单地将Template:Box 更改为Template_:_Box,而后者将在内部标准化为前者。 MW 有时会通过 HTTP 重定向到规范化的标题,但这很容易克服。

    【讨论】:

    • 我刚刚为你的 A +1 了,因为我同意这些观点。但是,我认为我们的角色是提供建议,但在被明确询问时直接回答问题。我不确定您的示例是否适用于此,因为这种专有 wiki 仅在有限数量的受信任帐户具有编辑权限的情况下才有意义。
    • @TerryE:我一直认为,当问题要求做坏事时,我们不应该解释如何完成坏事。由于要隐藏的模板在人们应该能够看到的其他页面上使用,这一特定问题变得更加复杂。这大大增加了绕过此类保护的可能性。
    • 重写的另一个问题是它们破坏了合法编辑页面的能力。因此,下一个问题将是如何通过 IP 白名单(旅行时将您踢出)或 HTTP 身份验证添加豁免。
    • 在我看来,MediaWiki 文档对授权扩展过于谨慎。在 MediaWiki 的现代版本中,userCan 挂钩将在向用户显示内容之前处理大多数(如果不是全部)入口点。至少有一些authorization extensions 应该处理这个用户的用例。
    • @Christian:它们都不会有帮助,因为 OP 要求模板源无法查看但可在公开可见的页面上使用 - userCan 应该在这里返回什么?即使您只是需要让某些页面无条件地不被某些群体阅读 - 不要以这种方式隐藏您真正有价值的秘密,认真;)
    【解决方案2】:

    在MW中有很多获取模板内容的方法,而且MW有自己的访问控制扩展,所以我认为你是在试图解决漏网问题,但直接回答你的Q:

    RewriteEngine On
    RewriteBase   /
    
    RewriteCond  %{QUERY_STRING} \bTemplate:Box\b
    RewriteRule  wiki/index.php  $0?             [L]
    

    如果 URI 用于 /wiki/index.php 并且查询字符串包含 Template:Box,这将删除查询参数。

    【讨论】:

    • 非常感谢!你的前几句话是什么意思?人们仍然可以根据需要获取模板内容吗?
    • 大多数 wiki 实现都允许 SEO 风格的重写,但这种重写规则的一个优点是它会接受这些内部重写。我刚刚在 Mwiki 中配置访问控制很开心,所以不要以为你是 100% 安全的。我也是一个思想开放的人,我确实觉得有点讽刺的是,您担心将专有模板锁定在 FLOSS 包中。 WP 本身的模板示例可能比您自己开发的要好得多。如果我已经回答了你的问题,即使我们在打开和关闭时的 PoV 不同,打勾怎么样 :-)
    猜你喜欢
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多