LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Wiki

XCLBasicManual

SSLログインの流れと動作原理 anchor.png

  • SSLログインリンクをクリックする
  • 指定されたSSLサイト内のポップアップが開く (そのURLは、ユーザモジュールの一般設定にて指定)
  • ユーザ名とパスワードを入力・送信(送信先はSSLサイト内のlogin.php)
  • SSL経由でユーザ名とパスワードを受け取ってログイン成功
  • ログインしているセッションIDを通常のXOOPS_URLに送信する(送信は平文)*1
  • XOOPS_URLのmisc.phpがセッションIDを受け取って、XOOPS_URLについても有効なセッションIDとして認識させる
  • ポップアップウインドウに「閉じる」ボタンが表示される
  • クリックするとポップアップウインドウが閉じて、メイン画面側がリロードされる
Page Top

SSLログインを機能させるには anchor.png

  • アーカイブのextras直下にある login.php をSSLサイトのいずれかに置く
    • そのlogin.phpから、XOOPS_ROOT_PATH/mainfile.php に相対的にアクセスできることが重要
    • login.php をエディタで開き、以下のコードを自分で書き換える
<?php
// This script displays a login screen in a popupbox when SSL is enabled in the preferences. You should use this script only when your server supports SSL. Place this file under your SSL directory

// path to your xoops main directory
$path = '/path/to/xoops/directory'; ←この行。通常はXOOPS_ROOT_PATHと同じ値
Page Top

その他の注意事項 anchor.png

  • なぜか互換モジュールにも「ログインにSSLを使用する」等の設定があるが、おそらく意味はない。
  • cubeUtilsはSSLログインに対応していない。そのため、cubeUtilsのログインブロックでは、「ログインにSSLを使用する」を「はい」としても、SSLログインリンクは表示されない。
  • 少なくともXCL2.1.7までは、SSLログインするために必要なコードが書き忘れられている可能性がある。

fileSSLLogin.class.php

このファイルを、XOOPS_ROOT_PATH/modules/user/preload/ にアップロードすることで初めてSSLログインは機能するようだ。

  • 「mainfile.phpも書き換えなければならない」という勘違いが多く見られるが、少なくともこのSSLログインでは、mainfile.php の書き換えは一切不要である。
    もちろん、SSLでも平文でも、同じようにアクセスできるサイト、ということであれば、$_SERVER['https'] 等のサーバ変数を利用して、XOOPS_URL の設定を振り分けるのはよく知られた方法である。

*1 SSLサイトから平文サイトにPOSTするので、多くのブラウザが警告を表示すると思われる

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 8983, today: 1, yesterday: 6
初版日時: 2009-08-14 (金) 12:46:22
最終更新: 2014-01-13 (月) 22:06:02 (JST) (1196d) by GIJOE
Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities