sb

<< CSS 非対応ブラウザへのちょっとした心遣い | maincategory_list 利用時の注意 >>

秘密のカテゴリーを作る ... 2005.03.30 Wednesday
秘密の記事を守り抜け

秘密のカテゴリーを作る

 We Love Apples さんに秘密のカテゴリーを表示させない 2nd という記事があり、そんな方法があるのかなと覗いてみると、やり方を紹介している訳ではなく「どうすればいいだろう」という記事でした。というわけで、ちょっとそこら辺について考えてみました。

 結論からいくと sb のシステム上、アドレスの *****sb.cgi? の後に cid=○ をつければ任意のカテゴリーのアーカイブページをダイレクトに表示できるため、そういったアドレスの直接書き換えまでを視野に入れると完全に隠し通す事は不可能です。しかし、通常の閲覧において特定のカテゴリーを隠す事は比較的簡単にできます。

通常の閲覧時に特定のカテゴリーを隠す

 We Love Apples の管理人さんが懸念していた「個別表示時に独自タグ {entry_navi} でアクセスできてしまう」件に関しては、ふうこさん制作のカテゴリーナビゲーションプラグイン を利用すれば回避可能ですが、月別アーカイブには表示されてしまいます。

 そこで、1つのテンプレートでデザインを変える で紹介している方法を応用して月別アーカイブから秘密カテゴリーの記事を消してしまいましょう。

HTML 側
<div class="category_{category_id}">
     ・
〜 entry ブロック全体 〜
     ・
</div>

css 側
.category_5 {  ← カテゴリー ID 5 の記事は表示しない
display: none;
}

 これで特定のカテゴリーの記事を隠す事ができます。ただし、あくまで CSS によって表示させていないだけで、HTML 上には存在している点に注意しましょう。また、当然の事ながら秘密カテゴリーにはこれ以外のテンプレートを使う必要があります。
 {latest_entry_list} リストをテンプレートに使っている場合などは微調整が必要ですが、とりあえずこれで通常の閲覧時に秘密カテゴリーを隠す事が可能です。

その他のテクニック

 上で紹介した方法と併用する事で防御壁が強固になります。Level 4 が真価を発揮するには特殊な条件が必要ですが、その条件に当てはまれば秘密カテゴリーを「事実上覗く事は不可能」というレベルまで隠し通す事ができます。

Level 1:保存先を別のフォルダにする

 アドレスの直接書き換えでアクセスできるのは cid=○ だけではありません。通常の設定のままでは ***/log/eid○.html でも覗かれてしまいます。そこで、カテゴリー設定の「保存先」を通常設定以外の場所にしておきましょう。

Level 2:実際に書きたい内容は「続き」に書く

 上で紹介した CSS で隠す方法では、HTML ソースを覗かれると中身がバレてしまいます。そこで、実際の内容は「続き」に書き、通常の本文にはダミーの文章を書いておきましょう。
 ただし、あんでるどんさん制作の sb用うにゅうにゅ Read More プラグイン を利用している場合は「続き」の内容も HTML に書き込まれてしまいます。

Level 3:カテゴリー ID を増やす

 cid=○ の数字を順番に入力してアクセスされる事を防ぐ為に、ID の数字を増やしましょう。 秘密カテゴリーの ID が 50 ともなれば、さすがに敵(敵なの?)もそこに辿り着く前に諦めるでしょう。
 ID 50 のカテゴリーを作るには、当然50回カテゴリー作成作業を行わなくてはいけませんが、手作業が面倒な場合 data フォルダ内の category.cgi を直接書き換える方法もあります。文頭の数字は次に新規作成した時に使われる ID なので、必ず存在しているものよりも大きくしておきましょう。(ただし category.cgi の中身を見て意味が分かる人以外は不用意に手を出さない方が良いでしょう)

Level 4:秘密カテゴリーに特別なテンプレートを用意する

 しかし敵もさるもの(完全に敵扱いかよ)保存先を別フォルダにし、カテゴリー ID を増やすなどのジャミング [妨害] をかけたものの、月別アーカイブのソースを覗いて我らが本丸に押し入って来ました。嗚呼、もうこの子たちをかくまう術は無いのでしょうか! 否! まだ諦めてはいけません、最後の手段が残っています!(文章が少々バカですが気にしないでください)
<html>
<head>
<title>秘密のカテゴリー</title>
</head>
<body>
<p>このカテゴリーの内容は秘密です</p>
</body>
</html>
 秘密カテゴリーには上のような特別なテンプレートを用意しておきます。これで、cid=○ の数字を書き換えてアクセスしたり、月別アーカイブのソースにあるリンクを辿って来ても画面には「このカテゴリーの内容は秘密です」という文章が表示されるだけです。(この方法は ****sb.cgi?eid=○ の指定による非公開記事へのアクセスも防御可能です)やっとの思いで突き止めたドアを開いて「秘密です」という文字を目にした敵の悔しがる顔が目に浮かびます。敵を欺くのはいいとして、実際にこのページにアクセスするにはどうすればいいかというと、アドレスの最後に &tid=○ を加え、通常のテンプレートを適用させます。
*****sb.cgi?cid=(秘密カテゴリーの ID)&tid=(有効なテンプレートの ID)
 ただし、この方法には大きな欠点があったりします。sb は tid=○ で指定したテンプレートが存在しない場合、標準のテンプレートを使って記事を表示します。つまり、この Studio Ponytail のように「標準テンプレートには記事を表示する部分が無い」というレイアウトでないと、tid=123456 など、ありえない数字を入力するだけで記事が表示されてしまいます。

つまり.....

 Level 4 の方法はアクセスした時に「秘密です」という文字で牽制する事はできますが、大抵簡単に突破されてしまいます。そのくせ正規に閲覧しようとすると、いちいち &tid=○ を付け加える必要があり非常に面倒です。秘密を守る効果に比べ、閲覧者の負担の方が遥かに大きいので、せいぜい3番までにしておく方が良いでしょう。

標準テンプレートに記事表示が無い場合

 この場合はかなり強固に秘密カテゴリーを守ってくれます。月別アーカイブのソースを覗けば、カテゴリー ID や各記事の個別表示アドレスは簡単に知ることが可能です。しかし、テンプレート ID は数字を順番に入れていく以外の方法で知る事はできません。つまり有効なテンプレート ID が分からない限り、どのようにアドレスをいじっても記事を覗く事は不可能です。
 なお、この方法でテンプレートの ID を指定すると、テンプレート設定の「CSS 反映」を「標準の CSS テンプレートを利用する」にしていても、テンプレート個別の CSS を使うので注意が必要です。

 まあ、ここまで書いておいてなんですが、わざわざアドレスを書き換えてまでページを覗こうとする人はほとんどいないと思うので(言っちゃったよ)、やはり 3番までにしておく方が無難でしょう。

△ PageTop | comments (2) | trackbacks (0)


コメント

We Love Apples | 2005/03/31 12:25 AM
こんばんは! Kaz さん
すみません、いつも通り、その解決策ではなく??の疑問符エントリーでした。(涙)
通常の閲覧時に特定のカテゴリーを隠すというやり方ですがぁ
なるほどぉ、CSSで表示させない!という設定にするのですね。
が、逆に CSS を見られたら、そのカテゴリーを隠しましたってのがbaバレますねぇ ^_^;
で、レベル1の
カテゴリー設定の「保存先」を通常設定以外の場所にしておきましょう。
保存先を変えるって・・・??あれ?方法を知りませんでした ^_^;
今一度勉強して見ます ^_^;
う〜ん、結論として、隠し通そうとすると、見せて上げる方にもチト難儀そうですねぇ。^_^;
今一度、総てを読み直してチャレンジして見ます。
いちもいつも、ありがとうございます。
Kaz. | 2005/03/31 06:31 AM
> なるほどぉ、CSSで表示させない!という設定にするのですね。
> が、逆に CSS を見られたら、そのカテゴリーを隠しましたってのがbaバレますねぇ ^_^;

そうですね。CSS はもちろん、
HTML ソースを覗かれてもモロバレです。
隠しているという痕跡すら見せないには、
やはり非公開状態にしておくしかないようです。


> カテゴリー設定の「保存先」を通常設定以外の場所にしておきましょう。

ベースフォルダ内にあらかじめフォルダを作っておくと
「記事カテゴリー」の詳細設定画面の「保存先」で選ぶ事ができます。
これを変更すると、通常「 ***/log/eid191.html 」のアドレスが
「 ***/secret/eid191.html 」のようになります。

また、面倒な割に効果は同じなので上の記事には書いていませんが
編集設定の「上級者向け設定」を「利用する」にすると記事編集画面で
個別保存時の eid○.html を好きな名前に変更する事もできます。

ただ、やはり Level 4 が真価を発揮する場合以外は
非公開記事も含めて、アドレス直接書き換えの前には無防備です。

コメントを書く

送信ボタン
 

トラックバック

この記事のトラックバック URL

http://www.studio-ponytail.com/sb.cgi/191


sb

<< CSS 非対応ブラウザへのちょっとした心遣い | maincategory_list 利用時の注意 >>

秘密のカテゴリーを作る ... 2005.03.30 Wednesday
秘密の記事を守り抜け

Monthly Archives