4/20編
CityInfo 改
始めに:
このCGIの原型を作られたのはうや氏であり、本人には連絡が取れないため確
認等は取っていません。最初にこの素晴らしいアイデアを考えられた氏に感謝
します。
ちなみに、このCGI自体は完全な自作になっています。
売り:
1. 汚染チェックを行うようにした。
旧CityInfoではタグや有害な文字の排除を行っていないため、ブラクラを
張られたりしていました。
2. 任意の複数の町を同時に更新可能。
3. メンバー制にできる。いたずら防止ログでIP公開。
4. ついでにカウンタがついてる。(重複カウント防止、自サイト排除つき)
5. HTML4.01strict準拠・・・多分。バリデタ通してないのであやすいですが。
まあ大体OKかと。見た目はCSSで自由にできます。CSSわからんと無理です
が。
##########################################################################
(重要)
始めにやること、EUC-JPを編集できるエディタでファイルを開くことができる環境
を確認してください。このファイルが文字化けしている様なら、設定ファイルなど
を編集できません。メモ帳では無理です
##########################################################################
設定:
まず、admin.cgiの冒頭にて管理者パスを設定してください。これは投稿時に
使うものではなく、メンバー編集などを行うための唯一絶対のものですので必
ず変えて下さい。
次に、ini.plを開いて必要なものは変えてください。大体中に説明が書いてあ
ります。リンク類はデフォルトでは出雲のものになっているので、必要があれ
ばそれも書き換えると良いでしょう。
いじる必要があるのはこの二つだけです。
設置方法:
パーミッションとFTPでの転送モードは次の通りです。
オーナ権限でCGIが動くサーバーならこれで問題なしでしょう。
-------------------------------------------------
index.cgi 本体 700 アスキー
logreader.cgi ログ表示用 700 〃
post.cgi 投稿用 700 〃
admin.cgi 管理用 700 〃
---------------------------------------------
ini.pl 設定ファイル 600 〃
std.pl 汎用パッケージ 600 〃
-------------------------------------------------
[data] ディレクトリ
info.dat 町情報記録 600 アスキー
log.dat 書き込みログ 600 〃
member.dat メンバ情報 600 〃
count.log カウンタログ 600 〃
-------------------------------------------------
[image] ディレクトリ
gif類 バイナリ
css類 アスキー
-------------------------------------------------
この枠の中は、殆どの人には関係ありません。
オーナ権限でCGIが動かないサーバーの人は熟読してください。
#######################################################################
# オーナ権限でCGIが動かないサーバーの場合、(CGIのパーミッションに777等
# が指定されているサーバー)ログファイル等の覗かれては困るファイルを600
# にして覗けないようにするということが出来ません。
#
# この場合、上の一覧で指定されているパーミッションを次のように変えてく
# ださい。
# 700 → 777
# 600 → 666
# そのままだと、ログの中身などが見られてしまうので、拡張子をcgiにして下
# さい。
# ini.plとstd.plは見られても困らないので、
# info.dat → info.cgi
# log.dat → log.cgi
# member.dat → member.cgi
# count.log → count.cgi
# これらをこのように変えて下さい。
# そして、ini.pl内にこれらのファイル名を設定している部分があるのでそれ
# もあわせて修正してください。たぶんこれでOKです。多分というのは作者が
# そのような鯖に垢を持っていないので・・・
#######################################################################
index.cgiの名前について:
これが本体なのですが、http://localhost/のようなファイル名でもアクセス
出来るようにindex.cgiという名前になっています。が、サーバーや.htaccess
の設定によっては無意味なので名前変えてください。変えた場合変えた名前で
URLにアクセスしてください。
使い方:
設置したURLにアクセスしてください。
更新したい町にチェックを入れてEditを押すと、更新画面になります。
ユーザー名とパスを入れる欄がありますが、もしここでメンバーであればそれ
を入れてもらいます。(クッキーが有効です)ゲストでの書き込みを許可する
設定にしていれば、これらが空欄でも更新できますが、ログでユーザー名の代
わりにIPが公開されます。
View Logのリンクから、ログを見ることが出来ます。
Adminのリンクから、管理ツールにいけます。
まずパスを要求されるので、admin.cgiの冒頭で設定したパスを入れて下さい。
認証されれば、現在の登録メンバーの一覧が出ます。
新しくメンバーを登録したい場合(まずおそらく管理者本人でしょう)希望の
ユーザー名とパスを入れてAddMemberを押して下さい。消したい場合は、ラジ
オボタンで選択して、Deleteを押して下さい。ユーザー名は3-10文字、パスは
3-8文字、共に半角英数字のみです。
パスは暗号化されてファイルに記録されるので、ファイルをあとから見てもパ
スはわかりません。忘れないようにして下さい。
カウンタの桁の増やし方:
index.cgiの166行目あたりにある
sprintf ( "%.5d", $count );
という行の5dの数字をかえるとそれが桁になります。
10dにすれば10桁です。
このCGIについての質問、相談、バグ報告などありましたら、
http://www.nurs.or.jp/~b3/
のBBS(たまに5日くらい見るの忘れてます)か、
b3@nurs.or.jp
までメールください。
まだ出来て数日なのでバグありそーです・・・