トップトップ 新規新規 編集編集 一覧一覧 検索検索 ヘルプヘルプ

改造/ログイン・パスワード認証

FreeStyleWikiにあってFreeStyleWiki Liteに無い機能は色々あるが、中でも一番無くて困るだろうものが、ページ作成編集のログイン(パスワード等認証)機能ではと。

Wikiの元々の基本姿勢はオープンなシステムを利用して共同で作り上げていくというものであって、その意味から誰でも編集出来るようにしてあるのは間違いではないのだけれど、しかし、個人的なサイト運営にWikiを利用したい場合にはそれでは困る事もある。

そこでFreeStyleWikiにはログイン機能があり、設定によって編集の権限を変える事が出来るのだが、FreeStyleWiki Liteにその機能はなく、ページ作成編集を一切制限する事は出来ない。

現状FreeStyleWiki Liteで編集を制限するには改造を施すしかなく、既にある改造方法やIOの改造方法を以下で紹介する。




諸氏によるCGI改造

FSWikiオフィシャルページに以下の投稿がされている。これらを適用する事でページ作成編集を制限する事が可能。




新規ページ作成、編集を隠す方法

認証を使わなくとも、ようは自分以外にページ作成や編集への行き方を分からなくすれば大抵の場合問題ないのではと思う。

つまり、

これだけで編集用CGIのURLを知らない者は編集不可能となる。ただこの場合、自分がページ作成や編集をしたい際はブックマークを利用する等となり、多少面倒かもしれない (なので専用のCGIを用意してみた・詳しくは下で)。

改造方法


 $EDIT_SCRIPT     = 'edit.cgi';

から、例えば下のように

 $EDIT_SCRIPT     = 'edit777.cgi';


 #-------------------------------------------------------------------------------
 # ヘッダを表示
 #-------------------------------------------------------------------------------
 sub print_header {
 
 〜中略〜
 
 	print "    <a href=\"$EDIT_SCRIPT?a=new\">新規</a>\n";
 	if($show==1){
 		print "    <a href=\"$EDIT_SCRIPT?a=edit&p=".&Util::url_encode($in{"p"})."\">編集</a>\n";
 	}
 #-------------------------------------------------------------------------------
 # ヘッダを表示
 #-------------------------------------------------------------------------------
 sub print_header {
 
 〜中略〜
 
 #	print "    <a href=\"$EDIT_SCRIPT?a=new\">新規</a>\n";
 	if($show==1){
 #		print "    <a href=\"$EDIT_SCRIPT?a=edit&p=".&Util::url_encode($in{"p"})."\">編集</a>\n";
 	}





IOによる改造

パスワードによる制限はIO自身も以前必要性を感じて独自で改造し作りました。出来れば公開、提供したいところですが、当分は時間なくて無理かもと(^^;)。とりあえず作った機能だけ紹介しておきます。

これ以外にも、ページ名にsetup.plで設定した任意文字を含ませる事でリストに表示させない隠しページ化させられる機能、スパム制限をオンにする事で一時的に編集を制限する機能、IP、ホスト、リファラによる制限機能なんかも自分のFSWikiLiteでは作って加えてあります。