1. はじめに
「じょじょちゃっと」はフレーム、ノーフレームの両方の環境に対応した簡易Webチャット・システムです。あなたのサイトにリアルタイムなコミュニケーション環境を提供いたします。ぜひとも、「じょじょちゃっと」で快適なチャットライフを!
2. 利用規定および免責
- このスクリプトの著作権は、じょじょ♪(以下、作者)にあります。
- いかなる理由があっても、作者の許可なく著作権表示を削除して公開することは禁止します。
- ただし、組み込まれている一部のライブラリの著作権に関しては、それぞれの作者にあります。
- このスクリプトは、作者の許可を得ることなく自由に改造し、自由に使用することができますが、改造の有無に関わらず他人に再配布することはできません。
- 商用利用にも制限はありませんが、それによっていかなる損害が発生しても、作者は一切責任を負いません。
- 利用の際は原則として、あなたのサイトにじょじょのWeb工房へのリンクを張ってください。
3. 特徴
じょじょちゃっとの主な機能は以下のとおりです。
- プログラム構成がシンプルなため、スクリプトの設置や各種機能のカスタマイズが非常に簡単です。
- 強力なHTMLテンプレート機能によって自分好みのデザインに簡単に移行できます。
- Cookieに対応しているため、名前とメール・アドレス、リロード時間を次回の入室まで覚えていてくれます。
- CookieにはJavaScriptを使用しているため、訪問者側の環境がCookieをサポートしていればほぼ確実に動作します。
- 現在の参加メンバーがすぐに分かる参加者表示機能。
- 現在の参加メンバーはサイトのトップページなど、他のページに表示させることもできます(JavaScriptまたはSSIを使用)。
- フレーム/ノーフレームの両方の環境に対応しており、どちらでも指定時間間隔での自動リロードが可能です。
- 発言を送信後、入力欄を自動的に消去させることができます(JavaScript使用)。
- 入室時にハンドルネームの色を選択できます。発言メッセージの色は随時変更することができます。
- 使用可能にしたいHTMLタグだけを自由に指定することができます。
- 管理者パスワードによって、不本意なログを一発で消去することができます。
- 悪戯防止機能によって、サーバが取得できるIPアドレスを監視し、ログに表示/非表示させることができます。
- 本文中にURLやメールアドレスが記入されたときに、自動的にリンク形式で表示させることができます。
- GETメソッドを禁止することによって、imgタグなどによる外部からの攻撃を無効にします。
- Refererを監視することによって、外部からの書き込みを禁止することができます。
- ロックファイルを置くだけで、簡単に閲覧専用モードにすることができます。
- flockによる排他制御でログを強力に保護します(UNIX、WindowsNTのみ)。
- W3Cの推奨するXHTML1.1に準拠した正しい文法のHTMLソースを出力します。
4. 動作環境
(1) サーバ環境
- perl5が動作すること
- 排他制御にflockが使用できることを推奨(Windows95/98/Meの場合、ファイルロックが動作しません)
(2) クライアント環境
- Internet Explorer 5.x以上、Netscape 6.x以上を推奨
- CSS、JavaScriptの使用を推奨
5. 設置方法
(1) 本体の設置
- chat???.lzh もしくは chat???.zip を適当なツールで解凍します。
- chat.cgi の1行目を、プロバイダから指示された perl のパスに変更します。
- 下記の設置例にしたがって、すべてのファイルをASCIIモードでサーバに転送します。
- chat.cgi と同じ位置に tmp/ というディレクトリを作成します。
- 下記の設置例の[ ]内の指示にしたがって、各ファイル、ディレクトリのパーミッションを設定します。
- ブラウザのURL入力欄に http://〜/~user/chat/index.html と入力し、アクセスします。
- フレームによるチャット画面が表示されたことを確認したら、設置は完了です。
- 訪問者には http://〜/~user/chat/ を公開します。
設置例
public_html/
|
|---- chat/ [777] ディレクトリ
| |
|---- tmp/ [777] 作業用ディレクトリ
|---- chat.cgi [755] じょじょちゃっと本体
|---- chat.css [644] じょじょちゃっと用スタイルシート
|---- chat.js [644] じょじょちゃっと用JavaScriptファイル
|---- chat.log [666] ログファイル
|---- index.html [644] 親フレーム用HTMLファイル
|---- enter.html [644] 入室画面用HTMLファイル
|---- exit.html [644] 退室画面用テンプレートファイル
|---- write.html [644] 発言入力画面用テンプレートファイル
|---- log.html [644] ログ表示画面用テンプレートファイル
|---- nenter.html [644] 入室画面用テンプレートファイル(ノーフレーム用)
|---- nwrite.html [644] 発言入力画面用テンプレートファイル(ノーフレーム用)
|---- jscm.pl [644] じょじょのWeb工房共通ライブラリ
|---- jcode.pl [644] 日本語ライブラリ
|
注意事項
- public_html/ は、プロバイダによっては html/ や WWW/ 、htdocs/ などの場合があります。
- CGIの設置できるディレクトリが cgi-bin/ などに限定されている場合は、chat/ をその配下に作成してください。
- CGIのパーミッションの設定は、プロバイダによって異なる場合があります。必ず確認して、プロバイダの指示を優先してください。
- jcode.pl は、歌代和正氏によるフリーウェアです。ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/
(2) スクリプトのバージョンアップ
原則として chat.cgi と jscm.pl の置き換えだけで正常に動作します。
6. カスタマイズ
(1) スクリプトのカスタマイズ
必ず perl のパスだけを書き換えた状態で動作テストを行ってからカスタマイズを開始してください。最低限必要な項目以上に手を入れた状態では、設定ミスによる誤動作が起こった場合に原因を突き止めることが困難になります。
- 各種機能のカスタマイズ可能な項目は、chat.cgi 中の管理者設定項目の部分にあるコメントを参考にしてください。
- 海外サーバなど、時差のある環境の場合、jscm.pl の先頭に時差補正の設定個所があるので、そこを参照してください。
(2) テンプレートのカスタマイズ
テンプレートHTMLは、以下の要素を除き、自由に変更することが可能です。ただし、テンプレートの改造による表示のカスタマイズはHTMLやCGIについてある程度の知識を要求しますので、初心者の方は極端な変更を行うことは避けてください。
- フォーム部分 <form> 〜 </form> に含まれる各項目。
- %body%、%subject%などの、%で囲まれた部分(テンプレートによって置き換わる部分)。
7. 操作方法
(1) ログの消去
発言欄に「管理者用削除コマンド」のみを入力し、[発言]ボタンをクリックします。
また、メールアドレスを「管理者用削除コマンド」にしておくことによって、IPアドレスの表示を「あり」にしておいても、管理者のIPアドレスを Admin と表示させることができます。
(2) 参加者リストの外部表示(SSI を使用)
表示させたい HTML に以下のスクリプトを追加します(HTML と chat.cgi が同じ場所にある場合)。
<!--#exec cgi="chat.cgi"-->
(3) 参加者リストの外部表示(JavaScript を使用)
表示させたい HTML に以下のスクリプトを追加します(HTML と chat.cgi が同じ場所にある場合)。
<script src="chat.cgi?js=1" type="text/javascript"></script>
(4) 閲覧専用モードにする
chat.cgi と同じ位置に lock というファイル(またはディレクトリ)を置くと、書き込みをできなくすることができます。旅行などで管理ができなくなる場合に使用すると便利です。
(5) バージョンを表示する
chat.cgi?version でアクセスすることにより、スクリプトのバージョンを表示することができます。
8. サポート
(1) うまく動かない場合
カスタマイズを行う前に、以下の項目を確認してください。
- すべてのファイルを「ASCIIモード」で転送しましたか?
- chat.cgi の1行目にある perl のパスは正しく記述されていますか?
- それぞれのファイル、ディレクトリのパーミッションは正しく設定されていますか?
(2) それでも動かないときは
設置やカスタマイズに関する質問、不具合の報告などはじょじょのWeb工房にあるWeb相談室で行っています。特別な理由がある場合を除き、メールでの質問などはご遠慮ください。
なお、原則として大幅な改造を必要とする相談には応じられませんので、予めご了承ください。
同サイトのゲストブックでは、このスクリプトの感想や次回バージョンへのご要望なども受け付けております。
9. 謝辞
じょじょシリーズ作成にあたり、各方面の会議室などで有益な助言、提案、バグ報告を下さった方々に心から感謝いたします。
10. 更新履歴
2004/08/09 | ver.7.04 |
- セキュリティホールが発見されたため、対処した(重要度:中)。
- バージョン表示機能を追加。chat.cgi?version で表示されます。これに伴って付属テンプレートからバージョン表示を削除しました。
- URL自動リンクの際に _blank を出力しないようにした。付属テンプレートに base 要素を組み込むことで対処するようにする。
|
2003/11/08 | ver.7.03 |
- jscm.pl ver.1.03に対応。機能的には何の変更も無し。
|
2002/09/06 | ver.7.02 |
- ノーフレームで自動リロードをオフにしたとき、手動リロードのリンクが壊れていたバグを修正した。
|
2001/07/24 | ver.7.01 |
- メッセージサイズの許容最大値を設定可能にした。
- jscm.pl のバージョンチェックを追加。
|
2001/05/09 | ver.7.00 |
|
- バージョンアップは順次行われています。最新情報はじょじょのWeb工房にてご確認ください。
- 未公開のβ版をサンプルとして公開することがあります。
Presented by じょじょ♪ <webmaster@starwars.jp>
(http://www.starwars.jp/web/)