問い合わせフォーム 「CreamForm 1.0 」を使用してみた。
今やCMS(content management system)といえば、WordPressが代名詞的な存在になっていますね。けれども、個人的に管理しているサイトではMTOS(Movable Type Open Source)を使用しています。
そのサイトでお問い合わせの機能を組み込みたくて、「CreamForm1.0」(※1)を見つけました。
組み込んでみたところ、こんなエラーが!
”テンプレートファイルの読み込みが出来ませんでした: 許可されない場所からテンプレートファイルを読み込もうとしました。”
”plugins/CreamForm/tmpl/list.tmpl”
原因は、Template.pm内、load_file()においてlist.tmplが見つからずにエラーになっていました。MTOSのバージョンアップに伴い、セキュリティ強化対策でプラグインのテンプレートをチェックする際、フルパスで一致しないとダメにしているようです。(ディレクトリートラバーサルに関係した対策か・・・・な?)
対応として、CreamForm/View.pmのテンプレート定義パスをフルパスに変更して、アップロードしました。
変更前
sub _list_tmpl_path { 'plugins/CreamForm/tmpl/list.tmpl'; } # list template path
sub _delete_tmpl_path { 'plugins/CreamForm/tmpl/delete.tmpl'; } # delete template path
sub _detail_tmpl_path { 'plugins/CreamForm/tmpl/detail.tmpl'; } # detail template path
変更後
sub _list_tmpl_path { '(フルパス)/plugins/CreamForm/tmpl/list.tmpl'; } # list template path
sub _delete_tmpl_path { '(フルパス)/plugins/CreamForm/tmpl/delete.tmpl'; } # delete template path
sub _detail_tmpl_path { '(フルパス)/plugins/CreamForm/tmpl/detail.tmpl'; } # detail template path
バージョンアップによって、他が動作しなくなることってよくあるんですよね。
今はいい感じに収まっています。
組合関係のサイトに構築に限らずいろんなところで活用できるプラグインだと思います。
※1 CreamForm1.0
http://marooon.com/web/2011/10/movabletype-creamform.html
一覧表示 ▶︎ Webノウハウ