force ssl利用時のフォームからの投稿について
CentOS 6.2
Concorete 5.6.0.2.ja
(5.3.1.1.ja -> 5.4.2.2.ja ->5.5.2.1.ja が過去バージョン)
ドメイン取得を行った自前サーバーにて環境構築をしています。
本家のフォーラムにあります、Force SSL(http://www.concrete5.org/marketplace/addons/force-ssl/)を
利用して、アンケート等のフォームからの入力画面をhttpsへ移動するようにしていました。
この場合、concreteの管理画面のレポート ->ログに以下の用に例外が発生しており、
フォームからの投稿時にエラーが発生しているようです。
例外が発生しました: /var/www/html/concrete5/updates/concrete5.6.0.2.ja/concrete/core/controllers/blocks/form.php:245 設定されたフォームになにか問題があります(ID番号が設定されていません) (0)
#0 /var/www/html/concrete5/updates/concrete5.6.0.2.ja/concrete/core/models/block.php(359): Concrete5_Controller_Block_Form->action_submit_form()
#1 /var/www/html/concrete5/updates/concrete5.6.0.2.ja/concrete/startup/process.php(273): Concrete5_Model_Block->passThruBlock('submit_form')
#2 /var/www/html/concrete5/updates/concrete5.6.0.2.ja/concrete/dispatcher.php(227): require('/var/www/html/c...')
#3 /var/www/html/concrete5/concrete/startup/updated_core_check.php(6): require('/var/www/html/c...')
#4 /var/www/html/concrete5/concrete/dispatcher.php(14): require('/var/www/html/c...')
#5 /var/www/html/concrete5/index.php(2): require('/var/www/html/c...')
#6 {main}
ForceSSLの利用を行わず、通常のhttpでのフォームからの投稿では問題は発生しません。
ForceSSLを利用したhttpsでのフォーム投稿を正常に行いたいのですが、
どういった部分を確認したら良いのでしょうか。
何か気になる点などありましたらお知らせ頂きたいと思っています。
Re: force ssl利用時のフォームからの投稿について
form enctype="multipart/form-data" id="miniSurveyView392" class="miniSurveyView"
method="post" action="/index.php?cID=93& (省略...) submit_form#1245896578"
またサーバー側のapacheにありますaccessログを確認すると、以下の用に出力されていました。
※一部簡略化して表示しています。
"GET /index.php/hoge1/hoge2/hoge3-entry HTTP/1.1" 301 - "http://ドメイン名/index.php/hoge1/" "ブラウザ情報"
フォームからの要求がPOSTで無くなっている気がしないでもないのですが・・・
Re: force ssl利用時のフォームからの投稿について
また、古いバージョンからのアップデートなので、config/site.php 内の BASE_URL の設定が残っているかもしれません。5.5からSSL対応のためsite.phpに記述しないことになりましたので、もし残っていたら該当行を削除してみてください。
Re: force ssl利用時のフォームからの投稿について
site.phpを確認したところ、BASE_URLの設定がありました。
コメントアウトして再度現象を確認しましたが、同様にエラーとなりました。
サーバー側のapacheが出力しているSSL側のログを確認したところ、
[05/Mar/2013:16:00:00 +0900] (IPアドレス) TLSv1 RC4-MD5 "POST /index.php?cID=93&bID=392&arHandle=Main&ccm_token=1362466782:cd02de6079653fd5b2c18f77b8f1d5cc&btask=passthru&method=submit_form HTTP/1.1" 359
と出力されていました。
takuro hishikawa
Re: force ssl利用時のフォームからの投稿について
もしここが http:// で始まっていたら、プロトコルがhttpsからhttpに変化している関係上postで送信しているデータが引き継がれませんので…