xoopsのinquiryspモジュールでSSL対応実現する方法
xoopsのようなCMSでSSLを実装したお問い合わせフォームを実現しようと、
株式会社ベットのX2サーバーで、SSLを申し込み、サーバー全体でSSLが利用可能な
状態にしました。
ただし、IEでhttps://~で表示をすると、
「セキュリティで保護されているコンテンツのみ表示します。」
と表示されます。
原因はhttps:// のコンテンツの中で、 http:// で読みだしているコンテンツ(画像など)
URL が https:// ではじまる SSL ページのソースコードには、URL が http:// から始まる非SSL接続の「画像」や「CSS」、「Javascript」、「Flash」等を一切読み込まないようにします。また逆の場合も同様です。
また、xoopsでSSLを実装するためには、
修正するべき個所は以下です。
・絶対パスでhttp:// で読み込んでいる箇所
・css内でhttp://から始まる絶対アドレスで画像を読み込んでいる箇所
・javascriptや、ajax等を読み込んでいるファイル内でhttp://から始まる絶対アドレスを利用している箇所
です。
inquirysp モジュールをSSL対応するためには、
以下の手順が必要です。
1)「mainfile.php」の修正
以下の記述でHTTPとHTTPSのURL定義を定め、「XOOPS_URL」定数にあてはめる。
// define('XOOPS_URL', 'http://www.hogehoge.jp');
define('HOGE_URL', 'http://www.hogehoge.jp');
define('HOGE_SSL', 'https://hogehoge.sakura.ne.jp');
if(ereg('^/modules/inquiry/', $_SERVER['REQUEST_URI'])){
define('XOOPS_URL', HOGE_SSL);
}else{
define('XOOPS_URL', HOGE_URL);
}
2)SmartyにHTTPとHTTPSのURL定義を追加
「class/template.php」の記述に追加
$this->assign(array('xoops_url' => XOOPS_URL,
'xoops_rootpath' => XOOPS_ROOT_PATH,
'xoops_langcode' => _LANGCODE,
'xoops_charset' => _CHARSET,
'xoops_version' => XOOPS_VERSION,
'xoops_upload_url' => XOOPS_UPLOAD_URL,
'hoge_url' => HOGE_URL,
'hoge_ssl' => HOGE_SSL
));
3)テーマの記述を修正
テーマの中で、<{$xoops_url}>で記述されていたリンク部分を<{$hoge_url}>に変更、問い合わせ(inquiry)モジュールへのアクセスのみ<{$hoge_ssl}>とする。
画像へのリンクについてはそのまま<{$xoops_url}>とする。
また、テーマだけでなく各ブロック内などで画像のリンクをフルパスで直記述している場合は、「暗号化されているページと・・・・混在している」とかいう警告メッセージがでるので、ここの辺も直しておくこと。
4)メインメニューのブロックを修正
問い合わせの時だけSSLへ飛ぶように修正する。
- <{$smarty.const._MB_LEGACY_HOME}>
+ <{$smarty.const._MB_LEGACY_HOME}>
<{foreach item=module from=$block.modules}>
- <{$module.name}>
+<{if $module.directory == 'inquiry'}>
+ <{$module.name}>
+<{else}>
+ <{$module.name}>
+<{/if}>
5)INQUIRYモジュールの修正
問い合わせを投稿した後にトップページに戻るが、その時にはHTTPSのままトップへ戻ってしまい、「暗号化されているページと・・・・混在している」とかいう警告メッセージがでるので、これに対応するために以下を行った。
「inquiry/index.php」内、XOOPS_URLを必要に応じてHOGE_URLへ変更
リダイレクト関数を呼び出しているあたりで、トップに戻そうとしているところを
// $view->redirect(XOOPS_URL.'/',2,'セッションが不正です。');
$view->redirect(HOGE_URL.'/',2,'セッションが不正です。');
- whois ansi のCreation Date Registration Date Expiry Date とは ( xoopsズープス ) [37872 view] 2011年09月23日
- xxoops2.2.0でaltsysをインストールした後、エラーが出て、altsysモジュールが白紙のときの対処法 ( xoopsズープス ) [32132 view] 2011年12月03日
- bulletinモジュールの投稿者名とヒット数とコメント数を消す。 bulletin_item.html ( xoopsズープス ) [31504 view] 2010年06月20日
- リストタグで横並びにして、かつ、フロート(回り込み)を解除する方法(崩れる 対処法) ( xoopsズープス ) [30211 view] 2011年04月05日
- 「ページを開けません。サーバーが応答を停止しています。」の問題について ( xoopsズープス ) [29717 view] 2012年09月19日
- xoops2.2.0でaltsysをインストールした後、ブロック部分と管理ページの日付が文字化けしたときの対処法 ( xoopsズープス ) [29447 view] 2011年07月23日
- light box 2.04 close.gif loading.gifが表示されない lightbox.js ( xoopsズープス ) [28662 view] 2010年06月21日
- Picoモジュールの 「コンテンツ内容」ブロックを利用して、スマーティーを利用できるカスタムブロックを実現する方法 ( xoopsズープス ) [27603 view] 2011年07月29日
- Smartyにtruncateという文字列修正の関数がある。指定した文字数で文字列を切り捨てるという便利なものなのだが、マルチバイト文字列に対してこれを使うと文字化けが起こって... ( xoopsズープス ) [27375 view] 2011年04月04日
- fckエディタで「invalid file type」と表示されて、ファイルがアップロードできない ( xoopsズープス ) [26551 view] 2010年05月14日