きりしま式 Web Patio

KENT WEBで配布されているWeb Patioのきりしまによる改造版です。主にQ&A系の掲示板として動作させるための改造を施してあります。なお、現在配布されているバージョンより一世代古い3系がベースになっています。

開発方針としては、掲示板の多機能化が目的ではなく、元々のWeb Patioのソースの構造をあまり壊さずに、変更点が移植できる範囲で改造しています。ログファイルは上位互換(ログファイルの各行の後ろに要素を追加しています)となっていますので、基本的には、オリジナルのWeb Patioに戻して使うこともできるはずです。

ただし、機能追加もそれなりに多くなってきましたので、Perl CGIの初心者の方が設置したり、さらに改造したりするには荷が重い状態になっているかもしれません。

改造初心者の方は、きりしま式をベースに改造するより、ソースコードの見やすい、KENT WEBのオリジナル版のWeb Patioをベースにすることをおすすめします。

 

 

5.xx相当版の開発について

オリジナル版を研究してからにしますので、まだいつ作成するかどうかは未定です。この頃は特に5.xx相当に対応する必要性を感じていないので、設置していたスクリプトも引っ込めときます。

きりしま式 Web Patio Ver 5.XX 対応のための改造メモ

WebPatio5研究用掲示板

オリジナル版の5.xxのリリースに伴い、研究用に設置してみました。v5.02をそのまま設置しています。オプション類のみ変更しています。

様子見ながらいじり始めた版

v5.02ベースになっています。4.xx以降HTML部がテンプレート化されて、HTMLによるデザイン変更は簡単になったかもしれませんが、その分プログラムによる表示制御の改造にはあまり便利ではなくて、あまり改造が進みません。

他のWeb Patio改造版のご紹介

きりしま式ではご要望に添えない場合でも、他の方の改造されている秀逸なスクリプトがあります。きりしま式にがんじがらめになってどうにかしようとするより、目的に一番近いものを探すのがよいでしょう。

最近はSNSなど便利なサービスがたくさんあり、自身でCGIスクリプトの掲示板を設置するニーズが減ってきたのか、公開されているサイトがどんどん減ってきていて残念です。

きりしま式ベース

光栄なことに、きりしま式をベースに改造版を発表されている方がいらっしゃいます。きりしま式では手を出さない、高機能化・多機能化をされた秀逸なスクリプト群です。久しぶりにリンクをチェックしたら相当少なくなってて、自前でPerl-CGIスクリプトの掲示板を設置するような時代も終わりつつあるのかな、と思っています。

きりしま式 Web Patio Liberty Ver … きりしま式 Web Patioを更に改造し機能を追加したものとのことです。スレッドの各記事に「引用して返信」ができるリンクがついています。大幅な機能強化をされているので、現在はきりしま式よりシェアがあるのではないでしょうか。残念ながら現在は配布されていたページを見ることができません。

スガラボットのForum Patio … きりしま式WebPatioをベースにツリー表示機能を追加しています。大幅な表示系の変更をされているので、一見WebPatioベースに見えません。

Mobile-KPatio … きりしま式WebPatioの表示をモバイル仕様にしたスクリプトだそうです。

カオス式 Web Patio … きりしま式WebPatioをベースにHTMLタグの許可とタグの入力支援、お気に入りスレッド機能を追加しています。

オリジナルのWeb Patioベース

Local Patio … 1つのスクリプトで複数のルームを設置できるそうです。 .htaccess を使ってURLを置換させるので、ちょっと設置難度は高いかも。

Casty Web-CGI配布-COLOR WEB PATIO … 文字に色がつけられるように改造したそうです。キャップ機能にも対応しているそうです。

CGIの屋形-Web Patio IIx … 開発終了とのことです。

ジャックのページ-スクリプト改造・配布ページ-Web Patioタグ支援ボタン付き … Web Patioの書き込み時にウェブログのようなタグを打ち込むためのボタンが装備されています。

掲示板改造支援サイトWeb Patioに迷惑書き込み防止機能を追加する改造をされています。きりしま式に組み込んでいるサイトも多数見かけます。

MobilePatio … WebPatioを携帯対応化したものだそうです。

東武・営団・東急Photo Room-ダウンロード-改造CGI配布-Mobile-Patio…Web PatioをMOBILE仕様にした掲示板。サイト本体は移転されているようです。

爺ちゃんねる(別館)-Patio FU(改)…Patio-FU を更に改造した改造スクリプトです。添付ファイルのサムネイルをサーバー側で生成して表示するようです。

爺ちゃんねる(別館)-Patio-G…サムネイル表示・YouTube動画表示・返信も画像添付可とのことです。

Patio-FU…ファイルアップロード機能追加版。

動作サンプル

テスト掲示板_3.4_K1.10+

実際の動作の確認用にどうぞ。テスト書き込みや管理者モードをお試しください。管理者モードのパスワードは初期値のままになっています。

改造のテストも兼ねているため、配布アーカイブと仕様が違ったり、ちゃんと動作していないときがあるかもしれません。また、最新の配布版よりもさらに改造している場合があります。

サポート掲示板_3.4_K1.10

きりしま式のサポート用の掲示板です。不具合報告や、改造例の紹介などにどうぞ。

配布している最新バージョンと原則同一です。

会員アクセステスト掲示板 3.4 K1.10

3.31のセッション機能の脆弱性に対処したものと同等のソースコードにしたため、会員アクセスのテスト用に設置しています。ちなみにきりしまはこのスタイルで実運用している掲示板を持っていないので、細かいところは見ていません。

オリジナルからの改造点

スレッド一覧で、新しい書き込みがあるスレッドにNEWマークを表示

スレッド一覧に、最新のレスのタイトルと、投稿者名を表示

トップページに検索窓を設置

検索時、レスの本文も検索します。サーバーの負荷は考慮していませんので、サーバーの重いところではタイムアウトで検索が終わらないかもしれません。

レスの範囲指定や全部表示ができるようにしています。

スレッド表示に、スレッド一覧と新規スレッドへのリンクを追加

記事のメールマークから書き込んだ人にメールを送信できる機能を用意しました。これで、掲示板にメールアドレスをさらすことなくメールを受け取ることができるようになります。メールにも禁止語フィルタは作動させています。

管理者によるロックをスレッド作成者によるロックと区別し、管理者がロックした場合は、スレッド作成者が勝手に解除できないようにしました。

旧2ch風のトリップを生成します。旧2chで特徴的なトリップを使っていた方や、トリップ検索ツールを使う方のために。

スレッド表示状態の各記事のスパナマークから、管理者パスワードを入力することで、管理者は直接スレッドやレスを削除したり、記事を編集したりすることができます。迷惑書き込みの削除も簡単です。管理者パスワードで編集した場合は、書き込みをした本人がその意図を無視して元に戻さないようにパスワードをクリアする設定ができます。チェックボックス形式にして、元のパスワードを維持したいときは維持できるようにしました。

過去ログにしても迷惑書き込みがつくオリジナル版の脆弱性に対処してみました。過去ログに落ちるスレッドは $key フラグを -1 にセットして区別します。もちろん、それ以前の過去ログはダイレクトにURLを叩くと出てしまいます。が、あまりないケースと思っているのでコンバータとかは用意していません。

スレッドにレスがついたとき、メールアドレスを入力して書き込んだ人には、お知らせのメールが行く機能を追加しました。init.cgiで、配信しないか、スレッドを立てた人だけか、レスをつけたひと全員かを指定できます。

スレッドの話題がそれてきたときに、新しいスレッドに分割するスレッド分割機能(親記事の場合は動作が変です)。実際には指定のレス以降をコピーした新スレッドを作成します。

管理者メッセージの下に位置しつづけてコメントを受け付けるFAQモード

管理者以外がスレッドを作成できないようにする機能

などを行っています。

その他、ちょこちょことオリジナル版より仕様変更していますが、オプションで選択できるようにしている部分も多数ありますので、init.cgiの

#===========================================================
# ◎基本設定
#===========================================================

の項目及び、

#-------------------------------------------------
# ◎これ以下は きりしま式 の設定項目です。
#-------------------------------------------------

の項目に目を通していただければと思います。

また、ダウンロードと改造履歴をさかのぼっていただくと、どんな思惑でその改造を施しているか記載されているときがあります。

改造メモ

要望項目のまとめ

利用規定

このスクリプトはKENTさんの Web Patio をベースに改造したもので、KENTさんの 再配布の規定 に則って再配布をしています。 KENTさんの CGIスクリプト利用規定 に従ってください。なお、きりしま式の使用にあたって、オリジナルから付加される規定も、削除される規定もありません。また、オリジナルの規定に改訂があった場合は、速やかにそれに従うものとします。

KENT WEBにて事業者登録をされていて、ライセンス証を掲示している場合はきりしま式を使用しても構いません。

もし、他のWeb Patioの改造版にきりしま式のソースコードを移植してご利用になられる場合は、下部の著作権表示の「きりしま式」も一緒に表示していただけるようお願いします。表示順番は移植された方にお任せします。

なお、下部の著作権表示の「きりしま式」を「Kirishima Edition」等、英語表記にしたい場合は、個別にご相談ください。無断で表記を変更・削ることは禁止しています。

ダウンロード

patio_34k110.zip 105KB 2014年8月20日

新規スレッド作成時と返信時の投稿間隔の制限をホスト毎に記録して行うように変更しました。それらの記録用ファイル thread.log response.log が新設されています。交互に書き込みされたようなときにも有効に制限が働くようになっているはずです。(Thanks to Soraさん)

http://www.kent-web.com/bbs/patio.html
にある、

【注意】 旧バージョンであるVer 4.04以前のWEB PATIOにクロスサイト・スクリプティングの脆弱性が発見されました。
Ver 4.04以前をご利用の方は、Ver 4.5以降にバージョンアップするようにしてください。
詳細は次のとおりです。届出者及び報告機関へは、この場を借りて御礼を申し上げます。
・報告元:JPCERT/CC
・届出者(1):東内裕二氏
・届出者(2):匿名
・脆弱性の内容:
(1) v3.1以前の場合、URL入力欄を利用した悪用(クロスサイト・スクリプティング)が可能。ただし、v3.4以降は問題なし。
(2) v4.04以前の場合、Cookieを利用した悪用(クロスサイト・スクリプティング)が可能。ただし、スクリプトが実行されるのは改変された Cookie を利用するブラウザ上であり、第三者に対してクロスサイト・スクリプティングの脆弱性を利用するためには、Cookie Monster など別の手法を用いて、あらかじめ対象者の Cookie を変更しておく必要があります。そのため、脅威となる可能性は極めて低いと考えます。

について、(1)はきりしま式のベースとなっているバージョンが v3.4 なので、問題ないと考えます。
そのため、(2)への対応をしてみました。

引用部分の色づけを「>」「*」「#」に対して行います。

patio_34k105.zip 105KB 2013年11月17日

「>」使用時の親記事の処理が間違っていたのを修正しました。 read.cgi の1箇所のみです。(Thanks to 大峡さん)

patio_34k104.zip 107KB 2013年3月3日

過去ログに落とす際に不具合がでるバグを修正しました。 (Thanks to かぜさん)

バグ自体の修正は、 regist.cgi でいいのですが、オリジナル版から移行した場合、オリジナル版で作成されているログの部分で不具合が起きますので、そちらは admin.cgi で修正しています。

ちょこちょこ更新しないので、一式で配布します。

patio_34k103.zip 107KB 2012年9月8日

過去ログに落とす処理のバグを修正しました。 (Thanks to たなかさん)

バグ自体の修正は、 regist.cgi だけで良いのですが、他もちょこちょこいじった形跡があるのと、Ver.3 系はあまり更新しないはずなので一式にしておきます。

patio_34k102.zip 104KB 2012年3月9日

本文以外の欄に何らかの理由で改行が含まれて送信された場合、改行を削除するようにしました。

patio_34k101.zip 104KB 2011年8月13日

find_34k101.zip を含めただけです。

patio_34k100.zip 104KB 2011年7月6日

ベースのソースコードを 3.4 相当にしました。バージョン番号は狙っていた機能が実装できるまで1.00にしないで頑張ろうと思っていたのですが、あきらめただけです。機能的には変化ありません。

find_34k101.zip 3KB 2011年7月29日

147行目のコメントアウトのバグです。libフォルダのfind.plを上書きしてください。

[これ以前のバージョンのダウンロードと改造履歴]

ZIP圧縮のみで配布しています。ZIPの解凍用ツールは環境に合わせて入手してください。画像ファイルは含んでいません。Kent Webの解説ページから入手してください。一部のオプションの初期値はKent Webで配布されているものと異なっています。

設置方法

オリジナル版のWeb Patioとほぼ同等です。

まずは、オリジナル版をオリジナル版の設置方法の説明に従って設置し、正しく動作させることができることを確認されてから取り組まれることをおすすめします。

オリジナル版のWeb Patioを設置し動作確認をした環境なら、きりしま式の配布アーカイブに含まれる init.cgi に新設されているカスタマイズ項目を設定して、アップロードしてパーミッションを適切に設定することで利用ができます。3.xx系のWebPatioであれば、上書きしても動作するように改造しています。(バックアップを取って各自の責任で上書きしてください)

パーミッションの変更が必要なファイルは

badword.log mail.log search.log はプロバイダーによっては「書き込み可能(606等)」に

setting.cgi は「実行可能(705等)」に設定してください。

public_html (ホームディレクトリ)
|
+-- patio /
| patio.cgi [705]
| read.cgi [705]
| regist.cgi [705]
| admin.cgi [705]
| registkey.cgi [705]
| init.cgi [604]
| note.html
| badword.log [606] *きりしま式で新設
| mail.log [606] *きりしま式で新設
| search.log [606] *きりしま式で新設
| setting.cgi [705] *きりしま式で新設
| response.log [606] *きりしま式で新設
| thread.log [606] *きりしま式で新設
|
+-- data / index1.log [606]
| index2.log [606]
| memdata.cgi [606]
|
+-- lib / jcode.pl [604]
| upload.pl [604]
| edit_log.pl [604]
| find.pl [604]
| check.pl [604]
| registkey.pl [604]
|
+-- log [707] /
|
+-- ses [707] /
|
+-- upl [707] /
|
+-- img / *.gif
faq.gif *きりしま式で新設
filenew.gif *きりしま式で新設
fold6.gif *きりしま式で差替
foldnew.gif *きりしま式で新設
mail.gif *きりしま式で新設

また、根本的な構造部分は変更していないつもりですので、「テキストの比較」機能を持ったエディター等で、先頭から比較しながら変更部分を移植していくことで、独自の改造版に同等の機能を組み込むことも不可能ではないのではないかと思います。

【注意】 既存のすでに稼働しているWebPatioを上書きしてきりしま式にする場合は、ログの保存されている /data /log フォルダを上書きしないようにします。が、詳しくない方は稼働している掲示板に上書きせず、別途新しく設置することをおすすめします。

注意事項

Ver 2.11以降の目玉機能である、会員アクセス制限を私は利用していないので、この機能を有効にすると致命的なバグがあるかもしれませんが、ご容赦下さい。もし、不具合にお気づきになって修正点がわかる方はお知らせいただければ対応したいと思います。

過去ログに落ちるほど大量の書き込みを扱うつもりがないので、過去ログに関してはなんら強化を行っていません。ご容赦下さい。

改良のご要望

サポート掲示板にお寄せいただいた改良のご要望に関しては、きりしまの判断で改良のアイデアとして採用するかどうかを決定します。言うだけタダの気持ちで、お気軽に書き込んでください。

バグに関しても、きりしまの個人的な努力の範囲で対応はしますが、バグのないプログラムを提供する「義務」はないものとしますので、ご容赦ください。

サポートのご要望

きりしまの改造に由来するものであれば、サポート掲示板にご質問いただければお答えすることもあります。

ですが、そもそもオリジナル版のWeb Patioを正常に動作させられていないと思われるご質問には「まずは、オリジナル版のWeb Patioを設置して動作するか試して下さい」としかお答え致しかねます。「無償」でスクリプトを提供しておりますので、サポートの「義務」はないものとしますので、ご容赦ください。

また、きりしま式をさらに改造しようとする質問は、あくまで、アイデアとしてどうしたらいいか、とかきりしま式はどうしているのか、という話題にお答えすることがあるだけです。実際にどういうコードを記述したらいいのか、とか、別の改造版に組み込むにはどこを用いたらいいのか、ということは原則ご自分でお考え下さい。

なお、「有償」での「設置代行」や「サポート」をご希望の場合は、KENT-WEBへの事業者登録費用12,960円も含めてご負担いただけるというのであれば、事業者登録をした上での有償サポートを考えますので、メールにてお問い合わせ下さい。まだ、一度も有償サポートをしたことがないので。一度どなたかに事業者登録させていただければその後は事業者登録費用の負担分は不要になります。最初の方は負担が大きくなりますが、そもそも事業としてやろうと思っていませんのでご了承下さい。

また、「有償」であっても、オプションで設定できる項目以外の部分をご希望の仕様に「カスタマイズ」するサービスは行うつもりはありませんので、他を当たってください。また、きりしま式をベースにカスタマイズして納品するサービスを実施している方はこのサイトでご紹介しますのでご連絡ください。そういった事業をされる方も、KENT-WEBの事業者登録さえクリアしていただければ、当方は構いません。

Ver.2.XX系からのログコンバータ

Ver.2.XX系のきりしま式をご利用だった方が、Ver.3.XX系にスクリプトを更新したい場合に、ログを一括でVer.3.XX系に変換するログコンバータはこちらからどうぞ。

きりしま式 Web Patio Ver2.XX → Ver 3.XX ログコンバータ

きりしま屋