我需要为爬行者提供私人Wiki的访问权限。

Wiki对所有匿名用户都关闭 - 您必须登录才能查看内容,但是我需要提供一个crawler(由用户代理字符串和单个IP识别)完整访问权限,以便可以索引内容。 。这是一个内部爬网,因此仅在成功登录时才能使用其资源。

关于如何启用单个客户端的访问(而不是用户,因为爬行者无法将其登录到Wiki中)有什么建议吗?

有帮助吗?

解决方案

实际上,有一个解决这个问题的方法。正如我提到的那样,爬网将使用特定的IP,它只会是使用它的爬网。如此快速而肮脏,但仍然是一种文明的方式是:

$crawler_ip = '1.2.3.4';
if ( $_SERVER['REMOTE_ADDR'] == $crawler_ip ) {
    $wgGroupPermissions['*']['read'] = true;
}

简单,是吗? :)

其他提示

如果您可以访问数据库,则可以在Solar这样的系统中使用数据库爬网为您执行此操作。

您可以为爬行者制作自定义的用户组,假设我们称其为“爬行者”。因为无论如何它都必须登录最简单的解决方案。

只要给它阅读的权限:

$wgGroupPermissions['*']['read']    = false;
$wgGroupPermissions['crawler']['read']    = true;

参考: http://www.mediawiki.org/wiki/manual:user_rights#changing_group_permissions

编辑 嗯,我误读了。爬网可能不是登录帐户吗?保留,检查是否可以将权限设置为IP。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top