名古屋校です。
今回は、EC-CUBEのコーディングにおいて、SSLを利用した際のちょっとした注意点を書きたいと思います。
configの設定
EC-CUBEをインストールした後で、SSLを利用する場合、
/data/config/config.php
の中身を修正する必要があります。
<?php define('ECCUBE_INSTALL', 'ON'); define('HTTP_URL', 'http://www.example.com/'); define('HTTPS_URL', 'https://www.example.com/'); define('ROOT_URLPATH', '/');
4行目がSSL用のURLにあたる部分ですがデフォルトでは「http://」になっていますので、「https://」に変えてあげます。
Smarty関数について
例えば、リンク先を指定する場合、以下のような記述があったとします。
<a href="<!--{$smarty.const.HTTP_URL}-->user_data/example.php"></a> <a href="<!--{$smarty.const.HTTPS_URL}-->user_data/example.php"></a> <a href="<!--{$smarty.const.ROOT_URLPATH}-->user_data/example.php"></a>
config.phpの中身を見ると一目瞭然ですが、
1行目は、「http://www.example.com/user_data/example.php」
2行目は、「https://www.example.com/user_data/example.php」
3行目は、現在表示されているURLに従う形になります。
したがって、SSLを利用しないページに対して、
<a href="<!--{$smarty.const.ROOT_URLPATH}-->user_data/example.php"></a>
と指定しまうと、SSL利用のページからSSLを利用しないページに飛んだ場合、
「https://www.example.com/user_data/example.php」
になってしまいます。
config.phpの設定を変えれば回避できますが、「ROOT_URLPATH」という意味合いが薄れそうで個人的にはそのままにしておきたい感じです。
まとめ
・SSLを利用する際には、config.phpの設定を確認しましょう
・コーディングの際は、SSLを利用するページかどうかを意識して関数を使いましょう
オススメ講座
AkrosのPRO講座ではEC-CUBEについても学ぶことが出来ます!
ご興味のある方はぜひご連絡下さい♪