1

Mediawikiで、私はいくつかのテンプレートページへのアクセスをブロックする方法を見つけようとしています。私たちの競争相手が私たちの複雑なコードを見て、彼らのウィキのためにそれを盗むことを望んでいません(これは残念ながら私が出身のファンダムでは一般的です)。そのため、特定のテンプレートページを表示しようとしたときに、メインのWikiページにユーザーをリダイレクトすることでこれを実現するためにhtaccessを使用しようとしていました。しかし、何も起きていません。これが私が使用したものです:

/wiki/index.php?title=Template:Box/wiki/index.phpをリダイレクトします

しかし、私がやろうとしていることが可能かどうか、またはこれがhtaccessの使用方法であるかどうかはわかりません。

前もって感謝します!

4

2 に答える 2

3

一言で言えば:それをしないでください!

MediaWikiドキュメントの関連部分を引用させてください。MediaWikiはCMSとして、または機密データを保護するようには設計されていません。それどころか、それは可能な限りオープンになるように設計されました。したがって、プライベートコンテンツのフル機能の気密保護を本質的にサポートしていません。

MediaWikiが部分的な読み取り許可を保証する方法はありません。人々はすべてのページを見ることができるか、まったく見ることができないかのどちらかです。そうしないと、貴重なデータを読み取るための抜け穴ができてしまいます。たとえば、リライトルールを使用したTerryEのトリックでは、セキュリティはまったく追加されません。他の100の方法の中で、単純に変更Template:BoxすることができTemplate_:_Box、後者は内部で前者に正規化されます。MWは正規化されたタイトルにHTTPリダイレクトすることがありますが、それは非常に簡単に克服できます。

于 2012-07-08T17:51:01.213 に答える
1

MWでテンプレートコンテンツを取得する方法はたくさんあり、MWには独自のアクセス制御拡張機能があるので、漏れているふるいを治そうとしていると思いますが、Qに直接答えます。

RewriteEngine On
RewriteBase   /

RewriteCond  %{QUERY_STRING} \bTemplate:Box\b
RewriteRule  wiki/index.php  $0?             [L]

/wiki/index.phpこれにより、URIが対象であり、クエリ文字列にTemplate:Boxが含まれている場合、クエリパラメータが削除されます。

于 2012-07-08T09:38:46.647 に答える