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 までメールください。 まだ出来て数日なのでバグありそーです・・・