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で生成されるファイルには、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
                );
            

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