=========================================================================== 【ソ フ ト 名】ir-i-bbs.cgi version 1.81h with ir-imchr 【SUBタイトル】〜 i-mode, EZweb, J-sky, PC 完全対応掲示板 〜 【バ イ ト 数】ir-i-bbs.cgi : 35,859 Bytes 他 【著 作 権 者】Irao / Irao Computer System 【動 作 確 認】Apache/1.3.19(FreeBSD), Perl 5.005_003 at irao.com ほか 【対 象 機 種】Perl5 の動作するウェブサーバー 【作 成 方 法】LHA等にて解凍を行う。 【ソフト種 別】フリーウェア 【転 載 条 件】原則禁止 / 事前にご相談ください =========================================================================== 【ソフト 紹介】 ■異常記事への対処について v1.81f において「記事が削除できずに増殖する」問題に対処するために、 異常だと思われる記事を削除する機能を追加しました。ただし正常な記事を 削除しないと保証できないので、事前に ir-i-bbs.dat のバックアップを 取ってください。 この機能を使用するためには掲示板を action=cleaning で起動してください。 つまり、http://(設置URL)/ir-i-bbs.cgi?action=cleaning です。 ■特徴 1.投稿時に入力したキーを指定する事で、自分の記事を削除・修正できます。  管理者はマスターキーですべての記事を削除・修正できます。 2.タグは改行を除き、一切使えません(HDML対応のためです)  改行(
)を除く全てのタグは無効になります。 3.訪問者の環境を自動判別し、i-mode には C-HTML を、PC には HTML3.2 を、  EZweb には HDML を、そして、J-sky には MML 対応 HTML を提供します。  また、.i には C-HTML を提供(仮対応)しています。 4.記事を検索することができます。 5.PC, EZweb, J-sky では i-mode 用の絵文字に対応しています。  PC, EZweb, i-mode, .i では J-skyweb 用の絵文字に対応しています。 6.ブラウザから掲示板の主要な設定ができますので詳しい知識を必要としません。 7.ir-post を使えばeメールの使える機種でしたらどんな機種にでも対応  することができます。 ■インストール ☆手順1  まず、ir-i-bbs.dat, ir-i-bbs.pw, ir-i-bbs.ini を作成します。  エディタ(Windows ではメモ帳など)を起動してから、何も入力しないで  [上書き保存]するだけです。    作成したファイルのサイズが0バイトであることを確認してください。  どうしても上記の方法で作成できない場合は MS-DOS プロンプトから、   COPY NUL ir-i-bbs.dat   COPY NUL ir-i-bbs.ini   COPY NUL ir-i-bbs.pw  として作成してください。    ※v1.30 以降が既に導入されているならば、各ファイルはサーバー上に   ありますので、作成、転送の必要はありません。(この場合、従来の   設定が引き継がれます。タブン)  簡易カウンターを使う場合は ir-count.txt を、また過去ログ自動保存  機能を使う場合は ir-i-log.dat を、同様の手順で作成しておいてくだ  さい。 ☆手順2  お好みで ir-i-bbs.cgi, ir-imchr.cgi を変更してください。変更箇所  は各ファイルに示されています。    なお、標準状態のままでも動作するように設定してありますので、普通  は変更しなくてもかまいません。    また ir-about.txt は「掲示板の概要」データです。ブラウザから変更  できます。あるいはエディタで変更することもできます。  ※v1.43 以前の ir-i-pc.txt とは形式が異なります。  ※ir-i-bbs.cgi はファイル名を変更してもかまいません。携帯電話から   URL が打ち込みにくい点を考慮すれば index.cgi などといった名前が   妥当かもしれません。適宜、各自で判断してください。 ☆手順3  FTP を使い、ウェブサーバーのあなたのホームディレクトリ下にある、  「public_html」あるいは「www」の下に「cgi-bin」ディレクトリを作り  ます。  ※たいていのサーバーは「cgi-bin」を作らなくても設置することができる   かと思います。適宜判断してください。 ☆手順4  作成した cgi-bin 以下に構成ファイル全てをアップロードします。  ★標準状態のまま、アップロードされる方   data フォルダも cgi-bin にアップロードしてください。つまり   data フォルダにあるファイルは、cgi-bin/data にアップロード   してください。     ★手順2 でディレクトリ構成を変更した方   設定したディレクトリ構成に基づいてアップロードしてください。  ○アップロードの仕方○   アスキーモードで転送するファイル    ir-i-bbs.cgi, ir-imchr.cgi, ir-i-def.pl, ir-i-ez.pl, ir-i-im.pl,    ir-i-js.pl, ir-i-pc.pl, ir-i-sub.pl, *ir-about.txt, *ir-jschr.txt,    jcode.pl   ◇手順1で作成したファイル(アスキーモードで転送します)    *ir-i-bbs.dat, *ir-i-bbs.pw, *ir-i-bbs.ini    (*ir-i-log.dat, *ir-count.txt; オプション)   バイナリーモードで転送するファイル    *ir-imchr.dat, *ir-imbmp.dat, *ir-impng.dat, *ir-jsbmp.dat,    *ir-jsgif.dat, *ir-jspng.dat, ezweb.gif, imode.gif, jsky.gif,    pc.gif   (*のファイルはdataフォルダにあります)  ※これ以外のファイル (readme.txt, ir-imchr.txt, license.txt) はアップ   ロードする必要はありません。  ○パーミッションの設定○   755(-rwxr-xr-x)にするファイル    ir-i-bbs.cgi, ir-imchr.cgi   666(-rw-rw-rw-)にするファイル    ir-i-bbs.dat, ir-i-bbs.pw, ir-i-bbs.ini, ir-about.txt   644(-rw-r--r--)にするファイル    その他のファイル   777(drwxrwxrwx)にするディレクトリ    cgi-bin, data  ※アップロードおよびパーミッションの変更に CuteFTP と 3D-FTP を推   奨します。お手軽系 FTP だとパーミッションが変更できなかったりし   ますので、注意が必要です。  これでインストールは完了です。 ☆手順5  普通に HTML 文書にリンクするのと同様に ir-i-bbs.cgi にリンクします。 ☆手順6  初回起動時に管理パスワードを登録します。また、その後に掲示板の各種  設定を行います。設定は項目多数につき、PC からでないと一部の設定が  できません。各端末からだと、最低限必要な設定のみできます。 ■絵文字について  1.80g より対応いたしました、J-PHONE 絵文字(拡張分)につきましては、  J-PHONE が作成した画像を利用いたしますので、著作権の関係上、当スク  リプトには添付しておりません。    もし、270 種類の拡張絵文字データをご利用になりたい場合は、当説明書  「■拡張絵文字データの作成」をごらんください。配布状態では基本的な  絵文字 90 種類にしか対応していません。なお、EZweb では 1.80g でも  90 種類の絵文字しか表示されません。あしからずご了承ください。  なお作成した絵文字データは、あくまで個人使用の範囲にとどめてくださ  い。 ir-i-bbs は、PC, EZweb, i-mode, J-sky, .i に対応した掲示板で、次のよ うな特徴があります。 ■拡張絵文字データの作成  配布書庫の「extras」フォルダに「make-ir-jsext.pl」という Perl スク  リプトを同梱しておりますので、これを Perl5 以降で処理してください。  手順を以下に示します。  1.お手元の PC で動く、Perl5 以降を入手します。    http://www.activestate.com/ あるいは    http://www.perl.com/  2.J-PHONE の絵文字データを入手します。    http://www.j-phone-west.com/kansai/   から J-SKY Editor をダウンロードしインストールしてください。   インストールしたフォルダから    (...)J_SKY_Editor\Programs\PicCharacter   とたどっていくと、この中に gif ファイルがおよそ 260 個ほど   ありますので、これを任意のフォルダにコピーします。  3.extras/make-ir-jsext.pl を同じフォルダに入れ、この pl ファイルを   Perl で処理します。  4.同じフォルダに ir-jsext.dat ができますから、このファイルを data   ディレクトリにアップロードします。(バイナリーモードで転送してく   ださい)  以上で、拡張絵文字データが表示されるはずです。 ■カウンタ機能について 簡単なアクセスカウンタ機能がついています。単純にカウントアップすると 実行回数のカウンタになってしまいますので、引数を与えずに起動したとき にカウントアップするようにしています。設定でカウンタを有効にしてから ご利用ください。 サーバーによっては、予めカウント格納用に空ファイル「ir-count.txt」を 用意する必要があるかもしれません。 なお、カウント値は $a_count に入れられますので、カスタマイズするとき に、カウント数を入れたい場所に指定してください。 カスタマイズしたくない方はお手軽に設定から変更しましょう。 (ただし、この場合カウンタが表示されるのは PC のみ) 設定の PC の見出し欄に、例えば「あなたは人目のお客様 です」と入力すると、カウンタが展開されて表示されます。見出し欄には HTML タグも使用できます。 ※見出し欄で、というキーワードは、perl の変数とみなして  その内容に展開されます。 ■補足 CGI を所有者権限で実行する(suexec)サーバーの場合なら ir-i-bbs.dat や ir-i-bbs.pw, ir-i-bbs.ini は自動で作成しますので、わざわざ空ファイル を作成して転送する必要はありません。またこの類のサーバーでは .cgi は パーミッションを「700」に、それ以外はパーミッションを「644」に設定し ます。 メールでの投稿を受け付けるためには、ir-post ディレクトリに格納されて いる readme.txt を参照してください。 ■セキュリティ ir-i-bbs.dat, ir-i-bbs.pw はセキュリティ上、容易に見えてしまうような 場所に設置するのは好ましくありません。ディレクトリを掘って、その中に 設置するとか、デフォルトとファイル名を変えるなど対策をお勧めします。 また、CGI が所有者権限にて実行されるサーバーならば、この両ファイルの パーミッションを「600」にするだけでも効果があります。 掲示板の設定には、予め設定した管理パスワードが必要になります。設定を する前に認証画面が出ますので、そこで管理パスワードをいれてください。 ブラウザの設定をクッキーを受け付けるようにしておくと、パスワード認証 時に入力された管理パスワードは一日間保存され、その間は設定時に認証が いりません。 ■絵文字対応の仕組み PC, EZweb の環境では、i-mode の絵文字を見つけると、それを IMG に変換 しています。このとき ir-imchr.cgi が必要になります。このプログラムは 指定されたコードの絵文字を表す画像を ir-imxxx.dat から読み出し、表示 する仕組みになっています。 ところが、J-sky ではこのようなことはできない[*1]ので、動的に絵文字を ファイルとして展開[*2]し、URL パスとして与えることで表示しています。 もし、サーバースペースに余裕がある方でしたら、絵文字データを全部展開 しておけば、実行時のサーバーへの負担が軽くなります。 ☆ウェブサーバーと CGI 設置用サーバーが別の場合(@niftyなど)  この場合、動的に画像ファイルに展開できませんから、予め絵文字データを  展開しておかないとうまく表示できません。  展開した PNG ファイルを全てウェブサーバーに設置してください。ここで  設置するディレクトリは、pc.gif などと同じにしてください。  最後に設定で「画像へのパス」に http://ウェブサーバー/ディレクトリ/  のように入れます。これで完了です。 ---------------------------------------------------------------------- [*1] J-sky では IMG エレメントの SRC 属性には、拡張子が png で、かつ   パラメータを与えられないという実験結果[*3]を得ています。   ----以下愚痴(笑)----   とても妙な仕様ですよね。MIME は何のためにあるんだ?ていうか、RFC   読んでないでしょうね。User Agent も与えてくれないし。 [*2]画像ファイルを直接置いてもいいのですが、何かと余分な場所を取って   しまうサイズの小さいファイルを減らすため、こういう仕様になりまし   た。 [*3]ステーション対応機では CGI も呼び出せるようです。 ■利用規程 付属の license.txt をお読みください。 ■履歴  01, Dec, 1999 v1.02 : 公開初版  11, Dec, 1999 v1.03 : パスワードに関するバグ修正  14, Dec, 1999 v1.10 : J-sky 対応  14, Dec, 1999 v1.13 : インターフェース改善  22, Dec, 1999 v1.20 : 漢字が化けるバグ修正  04, Jan, 2000 v1.25 : J-sky 完全対応?  12, Jan, 2000 v1.26 : J-sky バグ修正  17, Jan, 2000 v1.27 : 設定をより柔軟に  25, Jan, 2000 v1.28 : 管理パスワード認証バグを修正  25, Feb, 2000 v1.29 : URLとメールアドレスが化けるバグを修正  25, Feb, 2000 v1.30 : 設定をブラウザからできるようにした  02, Mar, 2000 v1.31 : ブラウザからできる設定数を増やした             設定がうまくいかないバグを修正  02, Mar, 2000 v1.31a: 設定ファイルの調整  10, Mar, 2000 v1.31b: クッキーが反映されないバグを修正  13, Mar, 2000 v1.40 : 管理パスワードの認証方法を変更             メールで投稿できるモジュールを追加  27, Mar, 2000 v1.41 : 投稿通知で漢字が化けるバグ修正  10, Apr, 2000 v1.42 : i-mode 対応 CGI 新ガイドラインに適合させた             J-sky で絵文字を表示するようにした(仮対応)  20, Apr, 2000 v1.43 : 各端末から設定ができるようにした  22, Apr, 2000 v1.44 : 設定更新時に稀にスワップが大量発生するバグを修正             概要ファイルの仕様を変更  23, Apr, 2000 v1.45 : 設定に推測を混ぜることで多少設定が楽になったかも  23, Apr, 2000 v1.50 : 配色の設定がブラウザからできるようにした             概要の設定がブラウザからできるようにした  23, Apr, 2000 v1.51 : 配色の設定がブラウザからテストできるようにした  23, Apr, 2000 v1.52 : 設定画面で簡単な説明を表示するようにした             配色の設定での不都合を修正  25, Apr, 2000 v1.52a: Content-Length: ヘッダに関するバグに対応(i-mode)  28, Apr, 2000 v1.52b: 設定の推測の改善  07, May, 2000 v1.52c: i-mode, J-sky で前のページに戻るリンクを用意した             Content-Length: ヘッダに関するバグに対応(J-sky)  07, May, 2000 v1.52d: i-mode, J-sky カラー端末用の配色設定を追加  08, May, 2000 v1.52e: PC で修正を選ぶと正しい動作をしないバグを修正  09, May, 2000 v1.53 : i-mode カラー設定のバグを修正             投稿メールアドレスの補完を追加             掲示板アドレスを自動設定             二重投稿できないように設定  15, May, 2000 v1.54 : 入室制限がかけられるようにした             i-mode と J-sky の投稿の仕方を少しわかりやすくした             設定でチェックボックスが利かないことがあるバグを修正             EZweb でクッキーが正しくないことがあるバグを修正  16, May, 2000 v1.55 : J-sky の絵文字に部分的に対応した             スクリプトのサイズを減らした             投稿通知メールを送信しない記事を設定可能にした             EZweb のアクセス制御設定を少し変更した             梱包状態を変更し、そのままアップロードできるようにした  19, May, 2000 v1.60 : J-sky の絵文字に対応した             クッキーの期限を設定できるようにした             タイトルのバージョン表示の有無を設定できるようにした             i-mode, J-sky で削除Passを入れ忘れた時の対策をした             サイズを一部削減した  20, May, 2000 v1.60a: 絵文字の色をテキスト表示色にあわせて変更するようにした             タイムゾーンがGMTになっていないバグを修正             設定で他の設定項目のリンクが表示されないバグを修正             サイズを一部削減した             EZweb で一部の絵文字が正しくでないのでデータを修正  21, May, 2000 v1.60b: 記事の検索機能を少し更新             全角の英数字記号を半角に直す速度を向上させた  22, May, 2000 v1.70 : ある程度の悪戯防止ができるようにした             IPとネットマスクの設定方法を少し変更  25, May, 2000 v1.70a: 日本語の処理をより適切かつ高速に行うようにした             修正/削除モードで「次のページ」の不都合を修正             i-mode, J-sky から修正/削除を選んだときの不都合を修正             i-mode, J-sky の不要なタグ出力を削除             投稿通知間隔を設定できるようにした  25, May, 2000 v1.70b: (簡単な)アクセスカウンタ機能を付けた (26, May, 2000 v1.60c: 特定のサーバでパスワード認証に失敗するバグを退治)  26, May, 2000 v1.70c: 特定のサーバでパスワード認証に失敗するバグを退治  08, Jun, 2000 v1.80 : 過去ログ自動保存/参照機能を追加             設定直後、カウンタが表示されない不都合を修正             保存件数が微妙にズレていたのを修正             i-mode と J-sky で「投稿する」の設定を追加             ログモードエラー対策をした             認証がうまくいかないことがあるバグを修正             i-mode, J-sky に自動調整モードの追加             検索結果表示時にも自動調整モードを適用             EZweb に自動調整モードの追加             RC4 での変更により EZweb で正しく表示されないバグを修正             自動調整モードによる不整合の修正             端末認識で 821i や 209i も i-mode と認識するように修正             過去ログモードで検索できないバグを修正             過去ログモードをメニューから選択できるようにした             過去ログ表示件数を選択できるようにした             携帯端末でも OR 検索を可能にした  09, Jun, 2000 v1.80a: EZweb で入室制限時、表示画面に混乱があったのを修正             EZweb で$を含む記事がエラーになるのを回避  25, Jun, 2000 v1.80b: J-sky の絵文字を複数連続して書き込むと化けるバグを修正             PCからの設定で D-HTML を使用するようにした(IE4-, NC4)  26, Jun, 2000 v1.80c: HTTP_REFERER のチェック処理を見直した  28, Jun, 2000 v1.80d: Netscape4 用 D-HTML 版設定画面のバグを修正             PC 版でページの移動時処理の改善  29, Jun, 2000 v1.80e: refererチェックのバグを修正  01, Sep, 2000 v1.80f: J-PHONE 新 GateWay 対策  11, Oct, 2000 v1.80g: J-PHONE で絵文字が化けるバグを修正             EZweb で正しくないメールアドレスへの対策             絵文字の文字色変更を正しく行うようにした             J-PHONE の絵文字(拡張分)に対応できるようにした  15, Oct, 2000 v1.80g: EZweb でメールアドレス処理に不都合があった点を修正  23, Dec, 2000 v1.81 : EZwebの@mail端末に対するメール送信リンクの修正             アステルのドットiに仮対応(本格対応は1月末を予定)  26, Dec, 2000 v1.81a: 暗号化方式変更に伴い環境により認証に失敗する対策             EZwebでRefererを送信しない設定を追加             アクセスカウンタの表示設定を追加  11, Jan, 2001 v1.81b: PocketIE で投稿できないことへの対策             Referer を送らない PocketIE への対策             Cookie の保存期間のデフォルトをブラウザ終了時にした  21, Jan, 2001 v1.81b2:(imode, jsky, doti)メルアドなどで入力文字種を指定  24, Jan, 2001 v1.81b3: Refererをチェック at ASTEL             投稿フォーム(Jsky, imode, ASTEL)の改良  08, Feb, 2001 v1.81c: Paldio ブラウザフォン 対応             ブラウザフォンの Referer に関する設定             端末に保存するための投稿フォームを出力             SMTP に直に接続したり、blat.exe を使用しての投稿通知             投稿通知禁止時間帯の設定  14, Feb, 2001 v1.81d: perl標準モジュールを排斥(@Nifty対応のため)             携帯用タイトルを別にした             J-skyのタイトル制御を修正  16, Feb, 2001 v1.81e: SMTPによる投稿通知がされないバグを修正  05, Aug, 2001 v1.81f: 禁止語句を設定可能にした(テストなので設定面倒くさいver)             異常な記事を削除する機能  06, Aug, 2001 v1.81g: 設定した禁止語句によってはエラーが起こるバグを修正             異常な記事を削除する機能で全ログが消失するバグを修正  26, Aug, 2001 v1.81h: EZweb キャッシュ制御(更新後自動再読込)             EZweb 再読込メニューを付加した             ログクリーニング機能に管理者認証を付加した             IP制限の柔軟性を強化した             管理者のみが投稿できる設定を可能にした             禁止語句をブラウザから設定可能にした             URL が http:// で始まってない場合、付加するようにした             カウンタの排他制御を強化 ■To Do(未実装) ☆PDX... -H"... ☆その他... ■謝辞 Ir-i-BBS の更新にご協力いただきました、以下の方々に感謝します。 ☆るてんさん  文字化けバグの指摘 ☆raym さん  管理パスの認証をミスするバグの指摘  クッキーが反映されないバグの指摘  インターフェースへの提言  J-skyweb 絵文字情報の提供 ☆りつろおさん  URL とメルアドが化けるバグの指摘  設定がうまくいかないバグの指摘 ☆evo さん  i-mode で前ページに戻る機能の提案  削除パス未入力時の不都合点の指摘  修正/削除モードの不都合点の指摘  入室制限機能の提案  同機能に関する認証バグの指摘  過去ログモードに関するミスエラーの指摘 ☆Don 兵衛さん  投稿の仕方についての提言  ファイル名についての提言  デザインの提案  モードの整合性に関する指摘  過去ログ自動保存モードの提案  HTTP_REFERER に関する不都合の指摘 ☆わかちゃんさん  EZwebでコンパイルエラーが出るバグの指摘 ☆やまさん  アクセスカウンタ機能の提案 ☆よしこっちさん  J-skyweb の絵文字情報の提供および絵文字のテスト ☆Millさん  スーパードッチーモ情報の提供 ☆AMPMさん  ドットi情報の提供 ☆俊さん  @mail対応に関する情報提供 もちろん使ってくださっている皆様にも、感謝、感謝! ■連絡先  電子メール:irao@irao.com  モーバイル:irao@phone.ne.jp  ウェブページ:http://www.irao.com/irao/ir-i-bbs/ ∞⌒⌒∞ Ir-i-bbs powered by ir-imchr    since 18, Nov, 1999 ( ノ ヽ)  Copyright (c) 1999-2000 by Irao / Irao Computer System τ^ _^μ  All rights reserved. ` ´  Version 1.81h