0

我需要向爬虫提供对私人 wiki 的访问权限。

wiki 对所有匿名用户关闭 - 您必须登录才能查看内容,但我需要提供单个爬虫(由用户代理字符串和单个 IP 标识)完全访问权限,以便可以索引内容. 它是一个内部爬虫,因此只有在成功登录后才能访问其资源。

关于如何启用对单个客户端的访问(而不是用户,因为爬虫无法将自己登录到 wiki)的任何建议?

4

3 回答 3

3

这个问题其实是有解决办法的。正如我提到的,爬虫将使用特定的 IP,并且只有爬虫才能使用它。如此快速和肮脏但仍然是一种文明的方式是:

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

很简单吧?:)

于 2011-03-06T12:43:10.343 回答
0

如果您有权访问数据库,则可以在诸如 solar 之类的系统中使用数据库爬虫来为您执行此操作。

于 2011-01-26T16:42:44.253 回答
0

您可以为您的爬虫创建一个自定义用户组,假设我们称之为“爬虫”。因为无论如何它都必须登录,那将是最简单的解决方案。

只需像这样授予它读取权限:

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

参考:http ://www.mediawiki.org/wiki/Manual:User_rights#Changing_group_permissions

编辑嗯等等,我看错了。爬虫可能不是登录帐户吧?稍等,检查您是否可以为 IP 设置权限。

于 2011-01-26T16:48:04.800 回答