名古屋栄校 EC-CUBEでSSLを使う時のちょっとしたコーディングの注意点

名古屋校です。

今回は、EC-CUBEのコーディングにおいて、SSLを利用した際のちょっとした注意点を書きたいと思います。

configの設定

EC-CUBEをインストールした後で、SSLを利用する場合、
/data/config/config.php
の中身を修正する必要があります。

[php] <?php
define(‘ECCUBE_INSTALL’, ‘ON’);
define(‘HTTP_URL’, ‘http://www.example.com/’);
define(‘HTTPS_URL’, ‘https://www.example.com/’);
define(‘ROOT_URLPATH’, ‘/’);
[/php]

4行目がSSL用のURLにあたる部分ですがデフォルトでは「http://」になっていますので、「https://」に変えてあげます。

 

Smarty関数について

例えば、リンク先を指定する場合、以下のような記述があったとします。

[html] <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>
[/html]

config.phpの中身を見ると一目瞭然ですが、
1行目は、「http://www.example.com/user_data/example.php」
2行目は、「https://www.example.com/user_data/example.php」
3行目は、現在表示されているURLに従う形になります。

したがって、SSLを利用しないページに対して、

[html] <a href=”<!–{$smarty.const.ROOT_URLPATH}–>user_data/example.php”></a>
[/html]

と指定しまうと、SSL利用のページからSSLを利用しないページに飛んだ場合、
「https://www.example.com/user_data/example.php」
になってしまいます。
config.phpの設定を変えれば回避できますが、「ROOT_URLPATH」という意味合いが薄れそうで個人的にはそのままにしておきたい感じです。

 

まとめ

・SSLを利用する際には、config.phpの設定を確認しましょう
・コーディングの際は、SSLを利用するページかどうかを意識して関数を使いましょう

 

オススメ講座

AkrosのPRO講座ではEC-CUBEについても学ぶことが出来ます!

ご興味のある方はぜひご連絡下さい♪