Manual:Preventing access/zh

有关自定义用户权限的帮助，请参阅. 此页面包含用于限制访问的示例.

大多数示例需要更改MediaWiki配置文件. 必须将没有附带说明的代码片段添加到 才能生效. 要向文件添加一行或多行，请按照下列步骤操作：


 * 1) 如果文件末尾有 ，请将其移除.  这是不必要的，而且在某些情况下可能会导致问题.
 * 2) 使用文本编辑器将这行添加到文件的末尾.  如果在添加的内容上方或下方有一些空白行，则无关紧要.  不要使用Windows记事本，它可能会添加“字节顺序标记”（BOM）并阻止正确读取文件.  BOM的典型症状包括白页和已发送标头的错误.  要删除BOM，您必须在十六进制编辑器中编辑文件.  Windows写字板似乎工作正常，Notepad ++也是如此.  也可以使用Vim文本编辑器删除BOM，方法是在Vim中打开文件，输入:set nobomb，然后重新保存文件.  如果您使用的是Mac，TextEdit也可以完成这项工作.

有关编辑 的更多详细信息，请参阅.

简单的私人维基
对于“自己和批准他人的私人维基”的常见用例，您需要：


 * 限制查看
 * 限制编辑
 * 限制账户创建

根据您安装的扩展程序，您可能希望将更多页面列入白名单. 例如，如果您使用扩展，则可能需要将Special:RequestAccount列入白名单. 如果您的维基的内容语言不是英语，则可能必须使用相关特殊页面的翻译名称.

限制账户创建
要限制帐户创建，您需要在MediaWiki安装的根路径中编辑LocalSettings.php.


 * 1) 当以管理员身份登录时，前往.
 * 2) 点击“创建帐户”链接以转到帐户创建表单.
 * 3) 输入用户名和电子邮件地址，然后单击“通过电子邮件”按钮. 请注意，您需要，否则系统管理员必须输入一个密码并将其发送给用户.
 * 4) 该帐户将使用随机密码创建，然后通过电子邮件发送到指定地址（与“忘记密码”功能一样）. 首次登录时，将要求用户更改密码；当他这样做时，他的电子邮件地址也将被标记为已确认.
 * 当您单击“创建帐户”按钮时，您必须手动向用户发送其密码. 如果您设置了（默认配置最高版本为1.15）并且您将密码字段留空，则会通过电子邮件向用户发送电子邮件地址确认请求，但无法访问来执行确认.  相反，用户将收到错误（除非您已将其添加到)，用户将能够使用空白密码登录然后确认电子邮件，但他们的密码将不会被重置（必须手动重置））.

编辑非用户尝试登录时显示的文本可能是适当的. 以管理员身份登录时，可以在MediaWiki:Nosuchuser完成此操作. 使用纯文本而不使用任何特殊格式，因为忽略格式并且文本是字面呈现的. （可能已经改变，见bug 12952）.

您还可以通过编辑页面MediaWiki:Createaccount-text来修改发送给新用户的电子邮件的内容.

防止管理员创建帐户：

要在登录表单上添加消息，请修改MediaWiki:Loginprompt. 或者，在LocalSettings.php中使用此代码：

限制所有页面的编辑
用户仍然可以阅读具有这些修改的页面，并且可以使用$ 1/Article name或其他方法查看源代码. 参见bug 1859.

参见和. 如果您使用，任何维基管理员也可以实施各种限制.

有关如何保护所有页面免受特定类别用户编辑（而非查看）的一些示例：

限制匿名用户编辑
要求用户在编辑之前进行注册.

限制所有非管理员用户编辑
要求一个用户是管理员（sysop）用户组的成员.

限制一整个名字空间的编辑
从MediaWiki版本1.10开始，可以使用变量保护整个名字空间. 示例：

请注意，在最后一种情况下，假设存在自定义命名空间， 是一个等于命名空间编号的已定义常量. 有关MediaWiki核心命名空间的列表，请参见Manual:Using custom namespaces和Manual:Namespace constants.

限制某些特定页面的编辑
使用功能. 默认情况下，任何管理员都可以保护页面，因此只有其他管理员可以编辑它们. 在1.9及更高版本中，默认情况下它们也可以保护页面，因此只有“自动确认”的用户（帐户时间超过配置的时间段）才能对其进行编辑. 这不需要编辑配置文件.

如果要将编辑限制为具有特定权限的组，请编辑. 要防止编辑和移动以外的操作，请使用.

限制所有页面的编辑
要对所有页面的编辑施加全面限制，但允许一些（例如沙箱，加入请求页面等）可编辑，您可以使用扩展. 这可能不太常见，但您也可以使用上面提到的限制编辑某些特定页面方法，所有名称空间都受到保护，并且每个人都可以编辑一个特殊的文件，其中包含您想要的所有页面编辑.

限制某些IP地址范围的编辑
学校和其他机构可能希望阻止指定的IP地址范围以外的编辑. 为此，请参阅. 目前执行此操作的唯一方法而不修改代码是为了Special:Blockip并系统地每个你不想要的地址范围能够编辑. 这适用于所有未来版本的MediaWiki. 它不会在每个名字空间的基础上工作.

限制特定用户的编辑
使用用户功能剥夺用户的所有编辑权限. MediaWiki并不能直接向单独用户授予权利；相反，权限始终给予用户组. 除了更改用户组之外，核心软件无法更改特定用户的权限以限制或允许编辑特定页面.

限制在某些名字空间中创建页面
创建讨论页面（createtalk）和创建非讨论页面（createpage）有单独的权利. 如果您需要更精细的每命名空间控件，则无法在核心MediaWiki中使用，并且需要扩展名，例如.

限制对上传文件的访问权限

 * &rarr;, , 

如果您已启用上传文件的功能，则这些文件将由底层Web服务器直接提供. 因此，.

服务器配置中上传文件的访问限制示例
如果将敏感文件上传到可通过互联网访问的维基，您可能希望添加对访问这些文件的限制. 在Apache上，如果您的本地网络是10.1.2.*，则可以使用以下命令将服务文件限制为本地地址：

 Order deny,allow Allow from 10.1.2.3 Deny from all 

限制所有页面的查看
将这一行添加到你的LocalSettings.php中：

设置允许用户查看主页面. 如果页面名称包含多个单词，则在它们之间使用空格“ ”，而不是下划线“_”.

除了这样一个私有站点的主页之外，您还可以通过将Special：Recentchanges添加到 来为Feed阅读器提供对最近更改页面的访问权限（如果您认为其内容不是私有的）.

如果您因任何原因需要保护侧栏，主页或登录屏幕，建议您使用更高级别的身份验证，例如.htpasswd或同等身份.

限制特定页面的查看
为了防止除管理员之外的任何人查看页面，它可以. 为了防止管理员查看它，可以使用扩展名永久删除它. 要完全销毁页面文本，可以手动从数据库中删除它. 在任何情况下，在此状态下都无法编辑页面，并且大多数情况下不再存在.

让一个页面对一些用户正常行为但对其他用户不可见，例如在大多数论坛软件中，这是一个非常不同的事情. MediaWiki专为两种基本访问模式而设计：


 * 1) 每个人都可以查看wiki上的每个页面（可能除了一些特殊页面）.  这是维基百科及其姊妹项目使用的模式.
 * 2) 匿名用户只能查看主页和登录页面，不能编辑任何页面.  这在技术实现方面基本上与上述相同（只是对每个页面视图进行额外检查），这就是它存在的原因.  这是某些私人维基使用的操作模式，例如各种维基媒体委员会使用的维基.

'''如果您打算拥有不同的视图权限，则MediaWiki不适合您的使用. ''' (参见bug 1924. ) 数据库不一定通过命名空间，页面名称或其他标准明确描述，如果您想要这样做，则必须插入大量泄漏（请参阅样本的）. 其他wiki软件可能更符合您的目的. 以上是对您的忠告. 如果必须使用MediaWiki，则有三种基本可能性：


 * 1) 将您的wiki设置为私有和白名单特定页面，这些页面将在LocalSetting.php文件中以 公开.  请参阅上面的章节.
 * 2) 使用设置单独的wiki，将一个配置为可查看，一个配置为unviewable（见上），并在它们之间配置.
 * 3) 安装第三方文件或扩展程序.  每次升级软件时都必须重新应用它，并且在发布MediaWiki的新安全修复程序或升级时可能不会立即更新.  当然，MediaWiki开发人员不支持第三方黑客攻击，如果您遇到问题，则不应该询问MediaWiki-l、#mediawiki或其他官方支持渠道.  一些黑客以列出.  如果您打算使用其中一个，请参阅.

限制导出
参见： 

无法导出自起无法读取的页面内容.

从所有页面移除登录链接
可以从所有页面的右上角删除登录/创建帐户链接， 因为用户仍然可以登录Special:SpecialPages>Special:UserLogin. 在LocalSettings.php中使用（使用MediaWiki 1.16测试）

移除账户
如果您想完全删除对用户的访问权限，例如 在简单的私人维基上，不可能简单地删除该帐户（，你可以，但用户仍然可以来阅读页面. 但是，使用扩展名，您可以将该帐户合并到另一个帐户中并删除前者，然后原始帐户将“消失”. 如果您想保留历史记录可读性（即，要让用户的编辑仍以他的名字显示），您可以创建一个新帐户，例如使用用户名Original User Name (deactivated)然后将Original User Name合并到前者中，或者甚至使用扩展名将Original User Name重命名为Another User Name，然后在Original User Name下创建一个帐户并将Another User Name合并到其中，这样，Original User Name将被完全“篡改”（如果您设置了非空密码）.

从MediaWiki 1.16.0开始，可以将设置为true以防止访问和读取被阻止的用户.

其他限制
您可能希望页面仅由其创建者编辑，或禁止查看历史记录或任何其他任何内容. MediaWiki的未经修改版本中这些功能不可用. 如果您需要更细粒度的权限，请参阅参见部分以获取为此设计的其他wiki包的链接，以及试图将MediaWiki转换为其未设计的内容的黑客攻击，无论如何可能会工作.

参见
有一些您可能感兴趣的相关手册/帮助页面：



其他维基软件可能比MediaWiki更好地支持细粒度的访问控制：


 * MoinMoin
 * - 基于MediaWiki（有限文档，小项目）
 * TWiki
 * TikiWiki - 具有完全可配置的功能和权限级别的访问控制.

如果您想要更好的访问控制但想要使用MediaWiki，这是一个扩展列表，并且允许在软件中实现不可能的限制. 其中的修改可能已经过时（请查看他们的版本）. 如果经过第三方修改的文件出现问题，请不要在官方MediaWiki支持渠道中询问.


 * (不在维护)
 * - 限制匿名用户编辑大多数页面
 * (不在维护)
 * (不在维护)
 * - 限制匿名用户编辑大多数页面
 * (不在维护)
 * - 限制匿名用户编辑大多数页面
 * (不在维护)
 * (不在维护)
 * (不在维护)


 * 已存档的扩展