人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Movabletypeを使ってウェブを構築しているのですが、一部のコンテンツや記事、あるいは特定のカテゴリーだけに関して、閲覧を制限するようなことは可能でしょうか?閲覧に関してパスワードなどを使うことができればよいです。htaccsessを使っていない方法でできるだけ簡便な方法がありましたらお願いします。

●質問者: まさきん
●カテゴリ:コンピュータ インターネット
✍キーワード:MovableType ウェブ カテゴリー コンテンツ パスワード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● n_maco2
●35ポイント

http://www.yahoo.co.jp/

↑URLはダミーです

やったことがないので具体的なソースコードなどは提示できませんが、MTはHTMLファイルの変わりにPHPファイルを吐き出すことも可能ですので、たとえば特定のカテゴリだけにパスワードを掛けたいのであれば、カテゴリ用のテンプレートの頭に下記のように認証用のPHPを埋め込んであげればいけるのではないかと思います。

if ( "認証を掛けたいカテゴリ名" == "そのページのカテゴリ名"){

認証用関数();

}

◎質問者からの返答

ありがとうございます.phpにするアイデアというのは思い浮かびませんでした.

ただ,具体的な関数のスクリプトを含めた解答がいただければと思います.


2 ● ヨネちゃん
●35ポイント

特定のカテゴリーに対して認証を行う方法です。かなり手間な方法かと思いますが、もし宜しかったらご覧下さい。「管理用」というカテゴリーに対して「admin」と「123」でログインする方法です。

まず、全てのページをPHPにて出力するよう設定し、テンプレート→アーカイブ→「カテゴリー・アーカイブ」と「エントリー・アーカイブ」にて、先頭(<!DOCTYPE…)の前に以下のソースを追加します。

<?php

if (<$MTCategoryLabel$> == "管理用"){

if (!isset($PHP_AUTH_USER)) {

header('WWW-Authenticate: Basic realm="My Private Stuff"');

header('HTTP/1.0 401 Unauthorized');

exit;

} else if (isset($PHP_AUTH_USER)) {

if (($PHP_AUTH_USER != "admin") || ($PHP_AUTH_PW != "123"))

{

header('WWW-Authenticate: Basic realm="My Private Stuff"');

header('HTTP/1.0 401 Unauthorized');

exit;

}

}

}

?>

続いて記事を一覧に表示しないようにする必要がありますので「日付アーカイブ」と「メインページ」にて、<MTEntries> の直後に以下のソースを追加します。

<?PHP if (<$MTCategoryLabel$> != "管理用"){ ?>

続いて </MTEntries> の直前に以下のソースを追加します。

<?PHP } ?>

見かけ上はこれでOKです。あとはRSSやAtomを書き出さないように設定にする必要がありあります。もしも書き出したい場合は、これらの拡張子もPHPにして、

<?PHP if (<$MTCategoryLabel$> != "管理用"){ ?>と<?PHP } ?>を追加すればOKです。

実行結果は以下のようになります。

http://let.sub.jp/admin/test/

◎質問者からの返答

ありがとうございます!!

そのまま使えそうですね.

この方式で完全にニーズに答える事ができそうです!

ただ,MTのプラグインで解決することができれば,それにこした事がないので,もうしばらく解答は募集します.ありがとうございます!!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ