2011-01-26 7 views
0

個人用のWikiへのアクセスをクローラに提供する必要があります。閉鎖された(プライベート)wikiへのクローラへのアクセスを有効にするには?

wikiはすべての匿名ユーザーには公開されていません。コンテンツを表示するにはログインする必要がありますが、ユーザーエージェント文字列と単一IPで識別される単一のクローラをフルアクセスできるようにする必要があります。内容を索引付けすることができます。これは内部クローラーであり、リソースへのアクセスはログインに成功した場合にのみ利用可能になります。

クローラが自分自身をwikiに記録することができないため、単一のクライアントへのアクセスを有効にする方法についての提案はありますか?

+0

なぜクローラを使用していますか?なぜデフォルト検索やLuceneを使用しないのですか? – Wikis

+0

Wikiはイントラネットの一部に過ぎないためです。私が達成したいのは、全面的な検索です。現在、WikiにLucene検索プラグインを使用していますが、検索が必要なイントラネット上の領域がいくつかあります。 –

答えて

3

実際にはこの問題の解決策があります。 私が言及したように、クローラは特定のIPを使用しており、クローラはそれを使用するクローラのみになります。だから、すばやく汚れていても文明的なやり方は次のとおりです。

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

シンプルではありますか? :)

0

データベースにアクセスできる場合は、太陽のようなシステムでデータベースクローラを使用してこれを実行できます。

+0

私は確かにSolrを使用していますが、Web上にあるチュートリアルに従っているだけなので、データベースのクロールをどのように行うことができるかについて詳しく知る必要があります。私はNutchを使ってページをクロールします。私はそれで遊ぶようになったので、それの完全な哲学を完全に理解していないので、私はそれについてもっと多くのことを読む必要があります。 –

+0

これは本当にあなたが望む方法でそれを記録できないと決めたので、あなたが使いたいアプローチのように思えます。 – xaxxon

0

クローラのカスタムユーザーグループを作成できます。これを「クローラ」といいます。とにかくログインする必要があるので、最も簡単な解決策になります。私は読み違え、http://www.mediawiki.org/wiki/Manual:User_rights#Changing_group_permissions

編集うーん待つ:

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

参考:

はちょうどそれがこのような読み取り権限を与えます。クローラーはおそらくログインしているアカウント権限ではありませんか?ホールドし、IPに権限を設定できるかどうかを確認します。

+0

これは役に立ちますか?クローラはログインできません。MediaWikiがどのようにクローラを識別し、それを「クローラ」グループに割り当てるか? –

+0

うん、更新を参照してください。あなたのためにそれを見てください –

+0

申し訳ありませんが、実際にページの代わりにデータベースを実際にクロールすることを除いて、ログインせずにこれを行う方法を考え出すことはできません –

関連する問題