OneThird CMSを安全に使うための情報です
OneThird CMSの運用スタイルについても合わせてご参照ください
ホームページのような公開ページではSite settings のoption1にて
システムメニューを隠す (Hide System Menu)と
ログイン機能を隠す (Hide the login function)のチェックを外してください
これは、OneThird CMSではデフォルトで全てのページからログインできるように設計されているためです
これを行わないと、公開ページでは不要なjavascriptが組み込まれてしまうだけでなく
以下のログインプラグイン書き換えによるログインURLの変更を行ってもソースコードを見るとログインURLがバレてしまいます
ログインプラグインを書き換えるだけでログインURLを書き換え、攻撃から未然に守ることができます
方法は簡単、プラグインファイル(/files/1/plugin/plugin.php)に以下の行を加えてください
$plugin_ar[ LOGIN_ID ] = array( //
'selector' => "login000000" ←十分複雑な名前
, 'php' => "login"
, 'page_renderer' => "login_page"
, 'url' => true
);
上記例だと、ログインURLは
http://サイトURL/login000000
となります
ログインするときだけ、共有SSLを使い、ログイン後は通常のhttp通信を行う方式です
この方法だと、ネットワーク上を非暗号化状態のID,パスワードが流れることを防ぐことができます
config.phpのsite_sslに共有SSLのURLを書いてください
例:
$config['site_url'] = "http://onethird.net/";
$config['site_ssl'] = "https://x-sys.net/onethird/";
サイト管理時に全てHTTPS通信へ切り替える方式です
専用SSLでも共用SSLでも両方使えます
基本設定-オプション4の「管理画面は全てHTTPSで通信する (要site_ssl設定)」をチェックした上に
config.phpを以下の要領で変更してください
例:
if ($_SERVER["SERVER_NAME"]=="x-sys.net") { $config['site_url'] = "https://x-sys.net/onethird/"; $config['site_ssl'] = "https://x-sys.net/onethird/"; $config['files_url'] = "https://x-sys.net/onethird/files/"; $config['site']['cookie_path']='/onethird/'; $config['canonical'] = "http://onethird.net/"; } else { $config['site_url'] = "http://onethird.net/"; $config['site_ssl'] = "https://x-sys.net/onethird/"; $config['files_url'] = "http://onethird.net/files/"; $config['site']['cookie_path']='/'; }
コントロールパネル類のアクセスは インストールフォルダ/admin
に集中するように設計されています
このフォルダにIP制限をかけると悪意を持った第三者のログインを抑制することができます
OneThird CMSでは、SQLiteのインストールを許可しています
SQLiteでインストールする場合は、DBのパスワード無しでワンクリックインストールできるため、ユーザー名とパスワードを第三者に設定されてしまう可能性があります(極少ない確率ですが)
全く新規のURLの場合、アクセスがないため問題ありませんが、リニューアルに伴う再インストールの場合は、それなりの確率になってしまいます
そこで、OneThridでは、インストール画面において、はじめにアクセスしたPCから以外のアクセスを遮断するように設計されています(.htaccessによるIP制限)
インストールがうまく行かなかった場合は、.htaccessを削除してインストールしてください
もし、万が一第三者のアクセスによりインストールが中断した場合は.htaccessにIPアドレスが記録されますので念のためすぐ削除せずにバックアップしてください
ページ内に、テンプレートタグを入れ込むとテンプレート展開しますが、これを無効化することができます
config.phpに、$config['disable_expand'] = true; を追加してください(デフォルトでコメントアウトしてあります)