2011-01-26 45 views
0

我需要爲訪問者提供對私人wiki的訪問。如何啓用對關閉(私人)wiki的訪問?

這個wiki對所有匿名用戶都是封閉的 - 您必須登錄才能看到內容,但我需要提供一個單一的履帶(由用戶代理字符串和單個IP標識)完全訪問,所以內容可以被索引。這是一個內部爬蟲,因此只有在成功登錄後才能訪問其資源。

有關如何啓用訪問單個客戶端(而不是用戶,因爲爬蟲無法將自己登錄到wiki中)的任何建議?

+0

你爲什麼要使用搜尋引擎?爲什麼不使用默認搜索或Lucene? – Wikis 2011-01-26 21:18:59

+0

因爲Wiki只是Intranet的一部分。我想要實現的是全面的搜索。我們目前使用Wiki的Lucene搜索插件,但Intranet上有幾個區域需要搜索。 – 2011-01-27 07:28:27

回答

3

實際上有解決這個問題的方法。 正如我所提到的一個爬蟲將使用特定的IP,它只會是爬蟲使用它。如此快而骯髒,但仍然是一個文明的方式做到這一點:

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

簡單,是吧? :)

0

如果您有權訪問數據庫,則可以在太陽能等系統中使用數據庫搜尋器來爲您執行此操作。

+0

我確實在使用Solr,但我只是在網上找到的教程,因此需要更多地瞭解如何使用它來完成數據庫爬行。我使用Nutch來抓取頁面。不完全理解它的整個理念,因爲我只是開始玩它,所以我需要更多地閱讀它。 – 2011-01-26 16:47:29

0

您可以爲您的抓取工具創建自定義用戶組,假設我們稱之爲「抓取工具」。因爲它必須登錄纔是最簡單的解決方案。

只要給它這樣寫的權限:

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

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

編輯嗯等待,我誤解。抓取工具可能不是一個登錄賬戶?堅持,檢查您是否可以設置對IP的權限。