の形で呼ぶ。
//
// anchor_idはフレームを使う場合最低限各フレームごとに設定。お互い他のフレームを書換えたときにへんな干渉をさけるため。
// その他ページの種別毎などで変えてもよいが、あまり小分けにするとcookieが増える。
// 同じanchor_idで保存されるcookieは1セットのみ。でも単独ページ表示のサイトなら概ねこれで充分。
anchor_id = "anc_main";
noanchor = false; // bodyにanchorをしかけたときなど場合によって一時無効にするためのフラグ。
// アンカーの記憶。
function anchor_save(object_id, page_id) {
if(noanchor) { anchor_erase(); return; }
get_scroll();
setcookie(anchor_id+"_pid", page_id, 0);
setcookie(anchor_id+"_st", scroll_top, 0);
setcookie(anchor_id+"_sl", scroll_left, 0);
if(object_id) {
object_top = scroll_top + get_object_top(object_id);
object_left = scroll_left + get_object_left(object_id);
setcookie(anchor_id+"_oid", object_id, 0);
setcookie(anchor_id+"_ot", object_top, 0);
setcookie(anchor_id+"_ol", object_left, 0);
} else {
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
}
// アンカーの適用。
function anchor_apply(page_id) {
if((saved_page_id = getcookie(anchor_id+"_pid")) && page_id != saved_page_id) { return; }
get_scroll();
if((anchor_st = getcookie(anchor_id+"_st")) != "" && (anchor_sl = getcookie(anchor_id+"_sl")) != "") {
anchor_st = parseInt(anchor_st);
anchor_sl = parseInt(anchor_sl);
} else {
anchor_st = scroll_top;
anchor_sl = scroll_left;
}
if((object_id = getcookie(anchor_id+"_oid"))
&& (anchor_ot = getcookie(anchor_id+"_ot")) != ""
&& (anchor_ol = getcookie(anchor_id+"_ol")) != "") {
offset_top = (scroll_top + get_object_top(object_id)) - parseInt(anchor_ot);
offset_left = (scroll_left + get_object_left(object_id)) - parseInt(anchor_ol);
} else {
offset_top = offset_left = 0;
}
window.scrollTo(anchor_sl + offset_left, anchor_st + offset_top);
}
// アンカー消去。あえてとっておく必要がなければanchor_apply()後すぐ消去が望ましい。
function anchor_erase() {
setcookie(anchor_id+"_pid", "", -1);
setcookie(anchor_id+"_st", "", -1);
setcookie(anchor_id+"_sl", "", -1);
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
//-->
IRORIBATA
使い方
| 一般的な公開サイトの各ページを見るのには認証は必要ありませんが、会員サイトをつくるなどの場合はログインを設定できます。またページの編集やいろんなチェックをするには編集者権限でのログインが必要です。 |
|
|
もともとIRORIBATAの認証は、一般公開のホームページを基本に、ホームページの内容を書込むための編集権限の認証を付加しただけのものでした。 その後会員サイトをつくる話になって、いちおう閲覧認証もやるようになりました。
|
.htaccessでのベーシック認証とIRORIBATAの認証との併用をするなら、IRORIBATAと.htaccessでの認証は両方に登録して一致させておくのがいいようです。
|
認証のしかた
IRORIBATA内部での認証のランクがいくつかあります。 1.閲覧認証…各ページを見るのと、コメントを使う設定であればコメントに投稿することができます。 ただ閲覧認証は必ずしも必要ではなく、かけたければできるといった感じです。 2.書込権限…1に加え、新しいページを作成して書き込むことができます。 ただし書込修正ができるのは自分の作成したページのみです。 その他の権限も制限され、他人に書き込んでもらうためといったところ。 複数の設定ができます。 みんなでデータベースを作りましょうといったときに使うニュアンスです。 3.編集権限…サイト全体のページの作成、修正、削除や構成その他各種設定などが行えます。 さらにアクセスログの確認などサイトのアクセスに関する操作も可能です。 4.管理権限…加えてサーバー運営に関わる操作。バックアップの作成などができます。 認証の方法は、一般的なユーザ名:パスワードによる認証で、 A.WEBサーバーの.htaccessによるベーシック認証。 B.IRORIBATAのphpプログラムによるベーシック認証。 C.IRORIBATAの独自ログインダイアログによる認証。 の3種類が使え、それぞれに長所短所があります。 | 方式 | 長所 | 短所 |
|---|
apacheサーバーの .htaccessによる ベーシック認証 | 写真等すべての要素に認証がかけられる。 | WEBサーバー(apache)の知識が多少必要。 レンタルサーバーの場合.htaccessがいじれず設置が難しい場合がある。 | IRORIBATAの phpを使っての ベーシック認証 | ID:PWの設定が設定画面上から容易にできる。 | 最近phpを使ってのベーシック認証は推奨されないらしい。 そのためかレンタルサーバーでは使えない場合がある。 ページ単位の認証であり、個々の写真やファイルには認証がかからない。
| IRORIBATAの ダイアログ方式 | ID:PWの設定が設定画面上から容易にできる。 一旦IRORIBATAに入れば常時切替可能。 上のどちらかと併用しても権限の変更が可能。 さらに権限情報の保存(自動ログイン)が可能。 | ページ単位の認証であり、個々の写真やファイルには認証はかからない。 |
|
で、結局お薦めの認証方式は、
(1)
| どうしても画像その他すべてのファイルに認証をかけたい場合: .htaccessによるapacheのベーシック認証を使用。 この場合.htaccessに設定するのは使用するすべてのUSER:PASSWORD。
| (2)
| 一般公開サイト、あるいはページ単位の認証でよいなら: IRORIBATAのダイアログ方式の認証を使用。 IRORIBATAの場合一般公開のサイトにしておいても一部のページ、あるいはページの一部分にパスワードを仕掛けるのは簡単です。 |
|
|
|
|
|