♪ taitai studio Free Midi/Mp3 & Cgi & Ranking ... prチャットするなら安定したサーバへお引越し♪
Home » CGIスクリプト集 » taitai chat

■ taitai chat

・アイコン式カラフルチャット [最終更新日:2001年6月8日]


1・このスクリプトについて

 "taitai chat"は「KENT-WEB」のKENTさんの著書、「KENTと作ろう!PerlでCGI」(エーアイ出版)にサンプルとして収録されているスクリプトです。「KENT-WEB」では配布されていません。配布スクリプトでは「pony chat」とよく似たスクリプトです。

- 基本機能 -

  1. 文字色選択機能
  2. ファイルロック機能
  3. 管理者機能
  4. アクセス拒否機能

これに、ROMの可否の選択、発言の背景色選択機能の追加、アイコン機能の追加、参加者表示機能、過去ログ保存機能、その他ほんのちょっとだけカスタマイズしやすいようにしました。

W.S.C.R.評価 >>

2・サンプルとダウンロード

サンプル

サンプルで使用しているアイコンはぺこさんの「Web Milky」のものです。

ダウンロード

LHA形式で圧縮してありますので別途、解凍ツールが必要です。ご使用の前に必ず利用規定をご覧下さい。

このスクリプトはKENTさんご本人の承諾を得て再配布させて頂いています。KENT-WEBの利用規定にも必ず目を通して同意していただく必要があります。

実際にご使用になられた時点で無条件に利用規定に同意したものとみなします。

もっと他にもCGIを探したい方は・・・
Click!!CGI MIDI 素材サイトランキング / Click!!Erzherzog 206 Best CGI

もっとCGIを学びたい方は・・・
Click!!Amazon.co.jpでCgi関連の参考書を探してみよう!


3・設置と初期設定

設置例
ディレクトリhtml
| >index.htmlなど
ディレクトリcgi-bin
 >ディレクトリtaichat
   >taichat.cgi (755)
   >taichat.log (666)
   >member.dat (666)
   >jcode.pl (644)
   >ディレクトリicon
      >***.gif
   >ディレクトリlock (777)
      >taichat.lock(自動生成)
一般的な設置例です。

図のようにサーバに転送しパーミッションをカッコ内の通りに変更します。

どのディレクトリにCGIを設置してもいいサーバや「cgi-bin」ディレクトリに設置かないと動いてくれないサーバなど様々ですので、プロバイダのホームページなどでCGIの動作環境を調べる必要があります。

ファイルロック機能を使う場合はロックファイルを置くディレクトリのパーミッション(アクセス権)を777にする必要があります。

- 以下は初期設定に関する補足説明です。 -

  1. 初期設定全般
  2. 過去ログ機能の利用について
  3. 参加者表示機能の利用について
  4. ロックファイルの利用について

1・初期設定全般  

#!/usr/local/bin/perl

Perlのパスです。プロバイダごとに違います。


文字コードライブラリ取込み
require './jcode.pl';

日本語文字コードライブラリ「jcode.pl」へのパスです。CGIファイルと同一ディレクトリにある場合はこのまま。


# タイトル名
$title = "taitai chat";

チャットのタイトルを入れます。HTMLのヘッダ<TITLE>や入り口ページの表示に使います。


$t_color = "#000099";
$t_size = '6';
$body = '<BODY bgcolor="#FBFEFF" text="#0000CC">';

この辺はHTMLです。


# 戻り先のURL (index.htmlなど)
$homepage = '../index.html';

「戻る」をクリックした時にジャンプさせたいページのURLです。


# 発言表示数
$max = 20;

ページに表示する記事数です。あまり多すぎるとレスポンスが悪くなります。


$in_msg = "さんが遊びに来たよ〜!";
$out_msg = "さん、また来てね〜!";
$mname = "管理人";

入退室時の表示の設定です。$mnameは入退室メッセージの時に出る名前です。


# このスクリプトのファイル
$script = './taichat.cgi';
# ログファイル
$logfile = './taichat.log';

スクリプトのファイル、ログファイルへのパスです。もしファイル名を変えることがあったらここも必ず変えます。


# ROMの可否
$rom = 1;

ROMを許可するか許可しないかを決めます。0にすると最初からログが表示されます。1にするとROM不可のメッセージが表示されます。


@color1 = ('EED002','FF8000','EC1C1C','FF7DFF','CC00CC','4444FF','00A7F7','1D9E1D','7ACC00','999999');
@color2 = ('黄色','オレンジ','赤','薄紫','紫','青','水色','緑','黄緑','グレー');

文字色選択の設定です。1がログ用で2がプルダウン用で、上下をペアにします。間違えると選んだ色とは違う色で表示されたりします。発言背景色、アイコンも同様です。


# アイコンのあるディレクトリ
$icon_url = "./icon";

アイコンがあるディレクトリへのパスです。デフォルトはCGIファイルと同一ディレクトリにある場合です。ディレクトリ名は何でも構いませんが別ディレクトリに置く場合はhttp://www.***.ne.jp/~user/icon などと記入します。最後に / (スラッシュ)は不要です。


# アイコンサンプルウィンドウのサイズ (Javascript有効の時)
$win_wid = '480';   # 横幅
$win_hei = '240';   # 縦幅

Javascript有効の時のアイコン参照画面のサイズ指定です。アイコンのサイズや数によって調整してください。なおJavascript無効の時は普通に新しいウィンドウが開きます。


# 管理用パスワード
$pass = '0123';

管理機能(ログの削除)を使う時のパスワードです。


# アクセス拒否するホスト名/IPアドレス
@DENY = ("*.host.ne.jp","*.host.com","210.150.200.*");

アクセスを拒否したいホスト、IPを記入します。よっぽど悪質な悪戯があったら管理機能にIPが表示されるので立入禁止にしましょう。


2・過去ログ機能の利用について  

チャットのログはすぐに溜まるので掲示板のように全てを保存すると大変な事になります。"taitai chat"ではログを多めに残して記事表示部には指定された記事数しか表示しないという形をとっています。

# 発言表示数
$max = 20;
# ログ保存数
$logmax = 100;
# 過去ログ表示 (過去ログ機能を使うなら1、使わないなら0)
$past_key = 1;

デフォルトではログは100件残して記事表示部には最新20件表示します。残りの80件が過去ログとして保存されます。$logmaxの値は少なめにしておいた方が賢明です。また $past_key でこの機能の使用を選択します。0にして不使用にした場合でも管理モードでは管理者のみ過去ログを閲覧出来ます。過去ログ保存機能が全く必要ない場合はログの表示数と保存数を同じにして下さい。


3・参加者表示機能の利用について  

この機能を利用すればチャットの参加者が確認できます。同じくKENT-WEBさんのスクリプトから移植しています。

# 参加者表示機能を使う (1で使用、0で不使用)
$mem_key = 1;
# 参加者表示ファイル名
$memfile = './member.dat';
# ROM不可の場合、トップページに参加者を表示する
# (表示したい時は1、したくない時は0に)
$rom_mem = 1;

参加者表示機能を利用するには添付のメンバーファイルが必要です。この機能を利用しない場合( $mem_key = 0; )はこのファイルは不要です。また参加者表示機能を利用し、ROMを不可に設定した際、ROM不可メッセージと共に参加者を表示するかしないかを選択できます。


4・ロックファイルの利用について  

同時アクセスによるログ破損を防止する機能です。

$lockkey = 1;
$lockfile = "./lock/taichat.lock";

使用する時は$lockkeyを1にします。アクセスが多い時はログ破損防止に有効です。(その分、動作が遅く感じる場合もありますが…。)使用する場合はロックファイルのパスを記入します。ロック機能を使う場合はロックファイルのあるディレクトリのパーミッションを777に設定する必要があります。パーミッション777はセキュリティー上問題があるのでプロバイダによっては禁止されています。また禁止されていなくてもセキュリティーを考えてロックファイルだけのディレクトリを作成することをオススメします。

・ホーム ・サイトマップ ・ひとつ前へ ・このページの先頭へ
Copyright © 2000-2008 taitai studio. All Rights Reserved.