hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

19年12月11日(Wed) 6時44分
TOP » UsersWiki » nao-pon » blog » 2010-03-27

RSS of nao-pon/blog
Sat 27 Mar 2010
 

XOOPS の SSL 対応 (http, https どっちでもOK) anchor.png

気付いている人もいると思いますが、当サイトを SSL 対応としました。http でも https でもどちらでも同じページが表示されます。

曲がりなりにもログイン機能を有しているので、このご時世 SSL 対応にしないとと思い立ち、無料で証明書を発行してくれる(個人限定で1年間) StartSSL を知ったので、設定してみました。

Page Top

SSL 証明書のインストール anchor.png

を参考にサーバーの Apache を設定、StartSSL の場合、中間認証局の証明書 sub.ca.crt も必須なので忘れずに設定する。

sub.ca.crt は DER 形式(バイナリファイル)なので、次のように PEM 形式に変換する

mv sub.class1.server.ca.crt sub.ca.der
openssl x509 -inform der -in sub.ca.der -out sub.ca.crt

なお、Apache 1.3 での SSL は ひとつのIPでひとつのホストしか利用できないので、ネームベースのバーチャルホストではどれかひとつのホストに絞る必要があるので、xoops.hypweb.net 以外のホストは、http にリダイレクトさせています。(そもそも、接続前に証明書が不正だと警告が出るけどね)

Page Top

XOOPS の調整 anchor.png

Page Top

mainfile.php anchor.png

XOOPS_URL を接続により切り替える。

    define('XOOPS_IS_SSL', (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on'));
    if (XOOPS_IS_SSL) {
        define('XOOPS_URL', 'https://xoops.hypweb.net');
    } else {
        define('XOOPS_URL', 'http://xoops.hypweb.net');
    }
Page Top

class/template.php anchor.png

サイト内リンクをきちんと区分けするため、http と https で、Smarty テンプレート利用時のコンテンツキャッシュを別にする。

class/template.php の XoopsTpl クラスに次のメソッドを追加し Smarty クラスのメソッドをオーバーライドする。

これは、XOOPS 2.0.16a の場合だけど、XCL ではプリロードでいけるのかな。 :thinking:

    function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null)
    {
        if (XOOPS_IS_SSL) {
            $cache_id .= '_SSL';
        }
        return parent::clear_cache($tpl_file, $cache_id, $compile_id, $exp_time);
    }
 
    function is_cached($tpl_file, $cache_id = null, $compile_id = null)
    {
        if (XOOPS_IS_SSL) {
            $cache_id .= '_SSL';
        }
        return parent::is_cached($tpl_file, $cache_id, $compile_id);
    }
 
    function fetch($resource_name, $cache_id = null, $compile_id = null, $display = false)
    {
        if (XOOPS_IS_SSL) {
            $cache_id .= '_SSL';
        }
        return parent::fetch($resource_name, $cache_id, $compile_id, $display);
    }
Page Top

テンプレートの調整 anchor.png

$smarty.const.XOOPS_IS_SSL で SSL を判定できるので、適宜場合分けして SSL 側へのリンクなどを付ける。



Post a new comment

Subject
guestname
Body

Go to richer form

Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 10438, today: 2, yesterday: 5
Princeps date: 2010-03-27 (Sat) 11:42:24
Last-modified: 2010-03-27 (Sat) 11:42:24 (JST) (3545d) by nao-pon
このページのTopへ
ログイン
ユーザ名:

パスワード:

オートログイン

Basic 認証

Register now! | Lost Password?



メインメニュー
UsersWiki メニュー
付箋メニュー
Fusen(Tag) menu 
Tag Editor
Color: BG:
Name:  Connect line ID:
 
ブックマーク
Please log in to use it.
[Login]
サイト内 Wiki
☆ 検索 ☆



高度な検索(サイト内)
FireFox検索プラグイン
オンライン状況
合計 51 人がオンライン中 :-)
(UsersWiki : 10 人)

登録ユーザ: 0 & ゲスト: 51

もっと...
サイト情報
管理人

nao-pon
 

登録ユーザ数: 4621


Web Services by Yahoo! JAPAN
楽天ウェブサービスセンター
Amazon.co.jpアソシエイト
現在ページのQRコード
現在ページのQRコード
[携帯対応]
参照元情報