PivotX

オープンソースのブログ・CMSプログラム『PivotX』はマルチブログに最適

PivotXとは
PivotXとは、PHPとMySQLで構築可能なオープンソース・ソフトウェアのブログ用CMSプログラムで、Ajaxを使い洗練された管理画面が特徴。
PivotXの特徴としてマルチブログ(複数ブログ)やマルチユーザー(複数ユーザー)での構築が簡単に出来ることや、データベース(DB)としてMySQLを使う以外に、データベースを使わないCMSシステムとしても構築が可能なため、安価なレンタルサーバーやホスティング利用等でデータベースが使えない場合でも導入可能なところが便利。
また、PivotXはデータベースの構造もシンプル。以前、WordPress mu を使いマルチブログを構築したことがあったが、ブログ数が増えるとMySQL内に膨大な数のテーブルが作られるため、データベースが一個しか与えられないレンタルサーバーで他のプログラムと混在させると管理が面倒になったりする一面があった。その点PivotXは少ないテーブル数でマルチブログを実現できるPivotXは手軽にインストール(構築・導入)しやすい。

pivotxのスパム対策(基礎編)

pivotx001.gif

オープンソースのブログシステムpivotxにデフォルトでセットされているskinny themeを使用した場合、投稿した記事のニックネーム(nickname)にメールアドレスがリンクされ(mailto:)表示される。

そのため、デフォルトのままではスパマーのクローラーに拾われてスパムを増やす結果となる。

pivotxを利用した場合に考えられるスパムメールを回避してスパム対策のためにアドレスへのリンクを消す方法

pivotxのタグの基本として、テンプレートにある[[ user field=emailtonick ]]が、ニックネームとそのメールアドレスへのmailtoをセットしたリンクに置き換わる。

スパム対策として、この部分を変更するのだが、[[ user field=nick ]]ではエラーになる。

また、[[ user field=author ]] [[ user field=name ]] [[ user field=user]]とすると、ログイン用のIDが表示されてしまうので注意。

skinny.themeの場合に[[ user field=emailtonick ]]が含まれるテンプレートファイルは以下の4ファイル

page_template.html

entry_template.html

frontpage_template.html

archivepage_template.html

このすべてのファイル内にある

[[ user field=emailtonick ]]

[[ user field=nickname ]]

とすることで、メールアドレスへのリンクが消え、ニックネームのみが表示されるようになる。


オープンソースのブログシステムPivotXのバージョン表記を削除してセキュリティを向上させる。

PivotXで生成されるファイルには、HTMLソース上の二ヵ所に、PivotXバージョン表記がある。
セキュリティを考えるとシステムのバージョンは掲載しない方が安全。

テンプレートファイルを修正して、バージョンを表示しないようにする方法。

実際にバージョンを呼び出している部分は以下。

ベージ下部に表示されているバージョンは下記のテンプレートファイルにある。

/pivotx/pivotx/templates/skinny/_sub_footer.html

_sub_footer.html内の

    <div id=”footer”>
        <p><a href=”#top”>[[t]]Top[[/t]]</a> | [[sitename]] is powered by <a href=”http://pivotx.net/”>[[ $build ]]</a></p>
    </div>

    <div id=”footer”>
        <p><a href=”#top”>[[t]]Top[[/t]]</a> | [[sitename]] is powered by <a href=”http://pivotx.net/”>PivotX</a></p>
    </div>

このようにすることで、バージョンは表示されなくなる。

同様に、ヘッダー部分に書き込まれているバージョン表記が同じフォルダ内の「_sub_header.html」にあるかと思うが、このテンプレートファイルには記載されていない。

ヘッダーのメタタグ部分にコメントとして書き込んでいる元になっているのは、以下のファイル。

/pivotx/pivotx/modules/module_parser.php

module_parser.php内の

        // Add a hook to insert the generator meta tag and possibly a favicon link
        $PIVOTX[‘extensions’]->addHook(
            ‘after_parse’,
            ‘insert_before_close_head’,
            “€t<meta name=€”generator€” content=€”PivotX€” /><!– version: ” . strip_tags($build) . ” –>€n” .
            $favicon_html
            );

        $PIVOTX[‘extensions’]->addHook(
            ‘after_parse’,
            ‘insert_before_close_head’,
            “€t<meta name=€”generator€” content=€”PivotX€” />€n” .
            $favicon_html
            );
        

このようにすることで、ヘッダー内のバージョンは書き出されなくなる。