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
までメールください。

まだ出来て数日なのでバグありそーです・・・