秘密のカテゴリーを作る
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 を増やすなどのジャミング [妨害] をかけたものの、月別アーカイブのソースを覗いて我らが本丸に押し入って来ました。嗚呼、もうこの子たちをかくまう術は無いのでしょうか! 否! まだ諦めてはいけません、最後の手段が残っています!(文章が少々バカですが気にしないでください)<head>
<title>秘密のカテゴリー</title>
</head>
<body>
<p>このカテゴリーの内容は秘密です</p>
</body>
</html>
つまり.....
Level 4 の方法はアクセスした時に「秘密です」という文字で牽制する事はできますが、大抵簡単に突破されてしまいます。そのくせ正規に閲覧しようとすると、いちいち &tid=○ を付け加える必要があり非常に面倒です。秘密を守る効果に比べ、閲覧者の負担の方が遥かに大きいので、せいぜい3番までにしておく方が良いでしょう。標準テンプレートに記事表示が無い場合
この場合はかなり強固に秘密カテゴリーを守ってくれます。月別アーカイブのソースを覗けば、カテゴリー ID や各記事の個別表示アドレスは簡単に知ることが可能です。しかし、テンプレート ID は数字を順番に入れていく以外の方法で知る事はできません。つまり有効なテンプレート ID が分からない限り、どのようにアドレスをいじっても記事を覗く事は不可能です。なお、この方法でテンプレートの ID を指定すると、テンプレート設定の「CSS 反映」を「標準の CSS テンプレートを利用する」にしていても、テンプレート個別の CSS を使うので注意が必要です。
まあ、ここまで書いておいてなんですが、わざわざアドレスを書き換えてまでページを覗こうとする人はほとんどいないと思うので(言っちゃったよ)、やはり 3番までにしておく方が無難でしょう。