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

19年3月21日(Thu) 11時27分
TOP » UsersWiki » nao-pon » blog » 2010-03-27

RSS of nao-pon/blog
2010 3月 27 (土)
 

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 側へのリンクなどを付ける。



新しくコメントをつける

題名
ゲスト名
投稿本文

より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 9462, today: 2, yesterday: 4
初版日時: 2010-03-27 (土) 11:42:24
最終更新: 2010-03-27 (土) 11:42:24 (JST) (3280d) by nao-pon
このページのTopへ
ログイン
ユーザ名:

パスワード:

オートログイン

Basic 認証

新規登録 | パスワード紛失



メインメニュー
UsersWiki メニュー
付箋メニュー
付箋メニュー 
付箋の編集
文字色: 背景色:
お名前:  線接続id:
 
ブックマーク
オンサイトブックマークは
ログインするとご利用になれます
[ログインする]
サイト内 Wiki
☆ 検索 ☆



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

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

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

nao-pon
 

登録ユーザ数: 4600


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