Index


NAME

Top

ZeroCH::Document::Plugin - img0ch(4.x)におけるプラグインの解説

DESCRIPTION

Top

4.xでは新しくプラグインシステムが導入されました。 これによって掲示板の動作を柔軟に変更できるようになります。 以下は現在標準でバンドルされているプラグインの説明をします。

プラグインの更新は「プラグイン」->「プラグイン一覧を更新する」をクリックすることで プラグインの一覧が更新されます。その際、新たに発見したプラグインが データベースに追加され、存在しないプラグインは自動的に削除されます。

プラグインの有効無効はプラグイン名の右にあるチェックボックスにチェックを入れることで そのプラグインを有効にすることが出来ます。逆にチェックボックスの チェックを外すことによってそのプラグインを無効にすることが出来ます。 どちらの場合でも更新を反映させるには 「チェックされたプラグインを有効にする」をクリックしてください。

Img0ch::BBS::Init

Img0ch::BBS::Init::Icon

登録されているアイコンの情報を読み込み、index.htcにおいてアイコンプラグインが有効であるかを1または0で示す <TMPL_VAR NAME="Icon">と登録されているアイコンをリストコンテキストとして利用する <TMPL_LOOP NAME="Icons">タグを利用可能にします。

このプラグインはその他"Img0ch::BBS::Presave::Icon""Img0ch::BBS::Rewrite::Icon""Img0ch::Read::Init::Icon""Img0ch::Read::Rewrite::Icon"を有効にする必要があります。

アイコン登録の設定は"Img0ch::BBS::Presave::Icon"で行ってください。

Img0ch::BBS::Init::Stash

特定のスレッドごとに独自の設定を行います。 Img0ch::BBS::*::Stashの設定はここで行ってください。

「基本設定変更」、「head.txt編集」、「meta.txt編集、「foot.txt編集」の権限を持つグループに 所属するユーザーがこのプラグインの設定変更を行うことが出来ます。

ここでは以下の機能を利用することが出来ます。

sage

スレッドを上げようとしても強制的にsageにする

stop

スレッドストップ表記なしでスレッドストップ扱いにする

nanashi

キャップによる書き込み以外みんな名無しにする

が利用できます。

Img0ch::BBS::Filter

Img0ch::BBS::Filter::NGWord

NGワードによる投稿制限を行うことが出来ます。 日本語及び正規表現に対応しています。 設定は「各種編集」->「NGワード規制」から行ってください。

Img0ch::BBS::Filter::BBQ

強力なDNSBLであるBBQ(http://info.2ch.net/wiki/?BBQ)による投稿制限を行います。 ほとんどのPROXY投稿を拒否することが出来ます。 DSBLのリストに載っているホストはBBQでも弾くようになっていますので、このプラグインを 有効にした場合DSBLプラグインを有効にする必要はありません。

BBQで焼かれている(規制されている)かどうかを確認するには風呂敷確認君を使って 調べてみる必要があります。(http://sv2ch.baila6.jp/chk_proxy.cgi)

過去に広告行為を行ったホストを対象にした規制を行いたい場合は "Img0ch::BBS::Filter::BBX"を利用してください。

Img0ch::BBS::Filter::BBX

強力なDNSBLであるRock54(ここではBBX:http://info.2ch.net/wiki/?Rock54)による投稿制限を行います。 過去に広告行為あるいはマルチポストを行ってきたホストを規制することが出来ます。

Rock54(BBX)で規制されているかどうかを確認するには風呂敷確認君を使って 調べてみる必要があります。(http://sv2ch.baila6.jp/chk_proxy.cgi)

PROXYを対象にした規制を行いたい場合は"Img0ch::BBS::Filter::BBQ"を利用してください。

Img0ch::BBS::Filter::DSBL

海外のDNSBLであるDSBL(http://dsbl.org/main)による投稿制限を行います。 BBQほど強くはありませんが、海外におけるPROXYの制限を行うことが出来ます。

Img0ch::BBS::Filter::VIP

Vip_quality.plのスレッド作成時におけるラッパーです。

以下は設置方法です。この設置は初回時のみ行います。

* VIPクオリティのライブラリ(以下ライブラリ)を入手する

http://www.nullpo.org/pablic_html/vip_quality/vip_quality.htmlで入手可能です。

* ライブラリを解凍する

ライブラリを解凍したらその中のVip_quality.plを/test/img0ch/4.0に設置します。 そのディレクトリ以外に配置すると読み込みエラーが発生します。

setting/vip_qualityディレクトリはどこに設置しても基本的に問題は発生しませんが、 なるべくサイトの公開パスより上(すなわちサイトにアクセスする人がクラックでもしない限り アクセス出来ないパス)に置いてください。

* Vip_quality.plの内部情報の一部を書き換える

313行目と318行目にあるパス情報を書き換えます。 $setting{'$file_path'}にはsetting/vip_qualityディレクトリまでのパスを、 $setting{'$bbs_path'}にはzeroch-config.cgiのBBSPathにスラッシュを加えた値 (CGI環境であれば「../」で動作するはず)に書き換えてください。

* zerominよりプラグインを有効にする

この一連の作業によりVIPライブラリのプラグインが動作します。 詳しい情報はVip_quality.plのコメント欄を参照してください。

Img0ch::BBS::Filter::BBM

携帯用のDNSBLであるBBM(http://info.2ch.net/wiki/?BBM)による投稿制限を行います。 携帯による広告または荒らしが出てきた場合有効かもしれません。

BBMで規制されているかどうかを確認するには携帯規制確認君を使って調べてみる必要があります。 (http://sv2ch.baila6.jp/chk_mobile.cgi)

Img0ch::BBS::Filter::IP

IPアドレスによる投稿制限を行うことが出来ます。 設定は「各種編集」->「アクセス規制」から行ってください。

Img0ch::BBS::Filter::Host

スレッド毎に正規表現でホストの投稿制限を行うことが出来ます。

「アクセス制限設定」の権限を持つグループに所属するユーザーがこのプラグインの設定変更を行うことが出来ます。

Img0ch::BBS::Filter::BanASCII

英数字(ASCIIやlatin-1)のみの本文が発見された場合エラーを出力するプラグインです。

このプラグインを利用するには別途Encodeモジュールが必要(perlのバージョンが5.8.xなら 標準でインストールされている)です。

Img0ch::BBS::Presave

Img0ch::BBS::Presave::Icon

実際にアイコン投稿を行い、投稿した情報をコメントタグとして本文に追記するプラグインです。 このプラグインの設定においてアイコン登録を行うことが出来ます。

「基本設定変更」の権限を持つグループに所属するユーザーがこのプラグインの設定変更を行うことが出来ます。

このプラグインはその他"Img0ch::BBS::Presave::Icon""Img0ch::BBS::Rewrite::Icon""Img0ch::Read::Init::Icon""Img0ch::Read::Rewrite::Icon"を有効にする必要があります。

Img0ch::BBS::Presave::VIP

Vip_quality.plのレス投稿時におけるラッパーです。

設置方法に関しては"Img0ch::BBS::Filter::VIP"を参照。

Img0ch::BBS::Presave::Tag

指定されたタグの入力を許可します。終了していないタグの補完も行います。

設定からタグの許可設定の変更を行うことが出来ます。最初から許可しているタグは <b>、<font>、<i>、<s>、<u>です。 <font>タグに関してはcolorsizeの属性が利用可能です。 それ以外の許可タグの属性の利用は出来ません。

「基本設定変更」、「head.txt編集」、「meta.txt編集、「foot.txt編集」の権限を持つグループに 所属するユーザーがこのプラグインの設定変更を行うことが出来ます。

ただし、設定を間違える(JavaScriptを呼び出せすタグの属性、例えば「onClick」とか 「onSubmit」を有効にする)とXSSの危険性を生み出しますので絶対に行わないでください。

以下は本文に渡される文章(HTML実態参照済み)とその置換結果です。

  &lt;html&gt;
  &lt;head&gt;
  &lt;!--nobanner(&lt;!--コメントは削除されません。--&gt;)--&gt;
  &lt;title&gt;HTML test&lt;/title&gt;
  &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html&quot;&gt;
  &lt;meta http-equiv=&quot;Content-Style-Type&quot; content=&quot;text/css&quot;&gt;
  &lt;meta http-equiv=&quot;Content-Script-Type&quot; content=&quot;text/javascript&quot;&gt;
  &lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
  function helloWorld() {
      alert(&#39;Hello World!&#39;);
  }
  //--&gt;
  &lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;br&gt;
  &lt;no such=&quot;SUCH&quot; tag=&quot;TAG&quot; has=&quot;HAS&quot; been=&quot;BEEN&quot; found=&quot;FOUND&quot;&gt;
  &lt;nested &lt;!--comment=&quot;&lt;!--COMMENT&quot; &lt;!--=&quot;&lt;!--&quot; komment=&quot;komment&quot; --=&quot;--&quot;&gt; TAG--&gt; src=&quot;test.cgi&quot;&gt;
  &lt;a href=&quot;mailto:root\@localhost.net&quot;&gt;mail&lt;/a&gt;
  &lt;a href=&quot;http://localhost&quot; onclick=&quot;alert(&#39;XSS!&#39;)&quot;&gt;test&lt;/a&gt;
  &lt;b title=&quot;BOLD&quot;&gt;bold test&lt;/b&gt;&lt;hr style=&quot;color:red&quot;&gt;
  &lt;i title=&quot;ITALIC&quot;&gt;italic test&lt;/i&gt;
  &lt;S TITLE=&quot;EMP&quot;&gt;EMP test&lt;/s&gt;
  &lt;font color=&quot;red&quot; size=&quot;7&quot; face=&quot;Arial&quot; onclick=&quot;alert(&#39;XSS&#39;)&quot;&gt;big red color text&lt;/font&gt;
  &lt;FonT COLOR=RED SIZE=3&gt;test&lt;/foNT&gt;
  &lt;span onmouseover=&quot;alert(&#39;mouse in&#39;)&quot; onmouseout=&quot;alert(&#39;mouse out&#39;)&quot;&gt;
  &lt;/span&gt;
  &lt;blink style=&quot;color:red&quot;&gt;enlightenment red&lt;/blink&gt;
  &lt;marquee id=&quot;marquee_test&quot;&gt;marquee&lt;/marquee&gt;
  &lt;u&gt;underline test&lt;/u&gt;
  &lt;タグ&gt;&lt;/タグ&gt;
  &lt;タグ&gt;test&lt;/タグ&gt;
  &lt;タグ /&gt;
  &lt;タグ&gt;
  &lt;タグ&gt;test
  &lt;タグ /&gt;
  &lt;img src=&quot;./image.png&quot; alt=&quot;test&quot; height=&quot;100&quot; width=&quot;100&quot;&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  &lt;b&gt;&lt;s&gt;&lt;jp&gt;&lt;test&gt;&lt;/タグ&gt;&lt;タグ&gt;

設定を何も変更せずにこのプラグインを用いた置換結果です。 <b>、<font>、<i>、<s>、<u>が有効になっていることが分かります。 また、タグ名が大文字になっている箇所がある場合小文字に置換され、 属性にクオートを括っていなくても自動的にクオートが補完されます。 さらに、有効なタグであっても無効な属性は削除されます。 無効なタグはHTML実態参照のままです。

  &lt;html&gt;
  &lt;head&gt;
  &lt;!--nobanner(&lt;!--コメントは削除されません。--&gt;)--&gt;
  &lt;title&gt;HTML test&lt;/title&gt;
  &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html&quot;&gt;
  &lt;meta http-equiv=&quot;Content-Style-Type&quot; content=&quot;text/css&quot;&gt;
  &lt;meta http-equiv=&quot;Content-Script-Type&quot; content=&quot;text/javascript&quot;&gt;
  &lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
  function helloWorld() {
      alert(&#39;Hello World!&#39;);
  }
  //--&gt;
  &lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;br&gt;
  &lt;no such=&quot;SUCH&quot; tag=&quot;TAG&quot; has=&quot;HAS&quot; been=&quot;BEEN&quot; found=&quot;FOUND&quot;&gt;
  &lt;nested &lt;!--comment=&quot;&lt;!--COMMENT&quot; &lt;!--=&quot;&lt;!--&quot; komment=&quot;komment&quot; --=&quot;--&quot;&gt; TAG--&gt; src=&quot;test.cgi&quot;&gt;
  &lt;a href=&quot;mailto:root\@localhost.net&quot;&gt;mail&lt;/a&gt;
  &lt;a href=&quot;http://localhost&quot; onclick=&quot;alert(&#39;XSS!&#39;)&quot;&gt;test&lt;/a&gt;
  <b>bold test</b>&lt;hr style=&quot;color:red&quot;&gt;
  <i>italic test</i>
  <s>EMP test</s>
  <font color="red" size="7">big red color text</font>
  <font color="RED" size="3">test</font>
  &lt;span onmouseover=&quot;alert(&#39;mouse in&#39;)&quot; onmouseout=&quot;alert(&#39;mouse out&#39;)&quot;&gt;
  &lt;/span&gt;
  &lt;blink style=&quot;color:red&quot;&gt;enlightenment red&lt;/blink&gt;
  &lt;marquee id=&quot;marquee_test&quot;&gt;marquee&lt;/marquee&gt;
  <u>underline test</u>
  &lt;タグ&gt;&lt;/タグ&gt;
  &lt;タグ&gt;test&lt;/タグ&gt;
  &lt;タグ /&gt;
  &lt;タグ&gt;
  &lt;タグ&gt;test
  &lt;タグ /&gt;
  &lt;img src=&quot;./image.png&quot; alt=&quot;test&quot; height=&quot;100&quot; width=&quot;100&quot;&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  <b><s>&lt;jp&gt;&lt;test&gt;&lt;/タグ&gt;&lt;タグ&gt;</s></b>

Img0ch::BBS::Upload

Img0ch::BBS::Upload::Main

アップロードの処理を行えるようにします。 アップロードを有効にするにはこのプラグインを有効にする必要があります。

Img0ch::BBS::Upload::Store

アップロードされたファイルをデータベースに登録します。

Img0ch::BBS::Upload::Thumbnail

アップロードされた画像ファイルから縮小サムネイルを作成します。 作成対象はjpg、png、gifの画像のみです。

Img0ch::BBS::Upload::VScan

アップロードされたファイルをClamAVを使ってスキャンし、 ウィルスが入っていないかを確認します。 このプラグインを有効にする際必ず設定を行う必要があります。

「Administrators」のグループに所属するユーザーがこのプラグインの設定変更を行うことが出来ます。

このプラグインを利用するには別途ClamAV::Clientをインストールする必要があります。

Img0ch::BBS::Upload::RZip

拡張子がzipのファイルを調べ,暗号化されているzipが発見されれば そのzipファイルを削除してエラーを出力します。

Img0ch::BBS::Upload::MIME

ファイルの拡張子と内容をMIME型から比較し、一致しなければそのファイルを削除してエラーを出力します。 ファイルの内容によっては誤判定を起こすことがあるかもしれません。

Img0ch::BBS::Postsave

Img0ch::BBS::Postsave::RSS10

RSSver1.0(index.rdf固定)の作成、配信を行います。 設定で配信するレス数を設定することが出来ます。

「基本設定変更」の権限を持つグループに所属するユーザーがこのプラグインの設定変更を行うことが出来ます。

このプラグインを有効にする際はmeta.txtに以下のタグを貼り付ける必要があるでしょう。

  <link rel="alternate" title="(任意の名前を入れる)" href="./index.rdf" type="application/rss+xml">

Img0ch::BBS::Rewrite

Img0ch::BBS::Rewrite::Quotation

>>1-3や>>1等の文字列を自動的にリンクにして変換します。

Img0ch::BBS::Rewrite::Icon

アイコン情報が格納されたコメントタグをimgタグに置換して画像表示を行います。

このプラグインはその他"Img0ch::BBS::Presave::Icon""Img0ch::BBS::Rewrite::Icon""Img0ch::Read::Init::Icon""Img0ch::Read::Rewrite::Icon"を有効にする必要があります。

アイコン登録の設定は"Img0ch::BBS::Presave::Icon"で行ってください。

Img0ch::BBS::Rewrite::Image

アップロードされた画像ファイルのリンクを自動的にimgタグに変換します。 変換対象はjpg、png、gifの画像のみです。

Img0ch::BBS::Rewrite::Truncate

index.htmlにおけるレスの行数がBBS_LINE_NUMBERを超える本文を削除し、read.cgiへのリンクを 入れるプラグインです。

Img0ch::BBS::Rewrite::XBreak

<br>タグを<br />タグに変換し、XHTMLに対応させるようにします。 snowmanテンプレートを利用するとき、XHTMLに準拠させるためにはこのプラグインを 有効にする必要があります。

Img0ch::Mobile::Rewrite

Img0ch::Mobile::Rewrite::Truncate

改行数を調べて特定行(BBS_MB_LINE_NUMBER)以上の文章を省略して表示します。

Img0ch::Mobile::Rewrite::Image

アップロードされたファイルのリンクを別の表記に置換し、 画像ファイルをhttp://pic.tohttp://fileseek.netにリンクを張ります。

Img0ch::Read::Init

Img0ch::Read::Init::Icon

"Img0ch::BBS::Init::Icon"に同じ。

Img0ch::Read::Rewrite

Img0ch::Read::Rewrite::Quotation

"Img0ch::BBS::Rewrite::Quotation"に同じ。

Img0ch::Read::Rewrite::Image

"Img0ch::BBS::Rewrite::Image"に同じ。

Img0ch::Read::Rewrite::Icon

"Img0ch::BBS::Rewrite::Icon"に同じ。

AUTHOR

Top

hkrn <hikarincl2@yahoo.co.jp>

COPYRIGHT

Top