WordPressの管理画面をSSLでセキュリティ強化するプラグイン『Admin SSL』。
WP2.5では動かなかったんですが、開発者が別の人に引き継がれ、この度WordPress 2.5に対応した模様です。これからテストするところですが、ご報告します。
■オリジナル版のサイト:
『Haris.tv』
haris.tv/2007/04/24/admin-ssl-new-wordpress-plugin/
■WP2.5対応版のサイト:
『bengreen』
www.kerrins.co.uk/blog/admin-ssl/
オリジナル版の作者Harisさんは開発に時間を割けない、ということで今後は後者のサイトからの配付になるようです。benさんガンバレ。donateいたします。
■新機能:
- WordPress MUにも対応
- セキュア化するURLの追加機能
- 設定画面を用意
そして
- たくさんのバグフィックス
- 完全に書き直されたリダイレクトシステムで、前バージョンより安定
■その他仕様:
- WP2.2以上/独自SSL(Private SSL)と共有SSL(Shared SSL)両対応
- WPMU1.3以上/独自SSL(Priveate SSL)のみ対応
■わかっているの問題:
ところで、今回のバージョンでは、標準ではAdminのそれぞれのページはセキュア化されていないようです(ログインとプロフィールのみ)…WP2.5.1の速度改善のアドバンテージを得るため。もしそれぞれのページもセキュア化する場合は、設定画面の「additional urls box」に「wp-admin/」を加えるように、とのこと。
※1.0プレリリース版を使用されていた方は、正規版をインストールする前にデータベースオプションをリセットしないとリダイレクトエラーを起こすようです。
とりあえず試してからここに追記します。
【追記 2008-6-20】
■インストール方法:
- 『Admin SSL』をダウンロードして解凍し、FTPで/wp-content/plugins/フォルダにアップロード。
- admin>プラグインにて「Admin SSL」の「使用する」をクリック。
- 同じ画面の上部サブメニュー「Admin SSL」をクリック。
- 下記設定画面があらわれる。

- 「Secure my site with SSL」(サイトをSSLでセキュア化)にチェック。
- 独自SSL(Private SSL)の場合はページ下部「変更を保存」で設定終了。
- 共有SSL(Shared SSL)の場合は「Use Shared SSL」にチェックを入れ、「Shared SSL URL」にサーバ側から提供される共有SSLのURLにWPのadminまでのパスを繋げたアドレスを入力。必ず最後は/wp-admin/で終わるように。
- ページ下部「変更を保存」で設定終了。
- 他のページへ移動するとすぐにSSL化が有効になる。
※初期状態ではログイン画面とプロフィール画面のみSSL化される。
■追加設定:
- 管理画面全体をSSLでセキュア化するには:
上記設定画面の「URL List」にあるwp-comments-post.phpのあとに改行してwp-admin/を追加する。SSL化するページorディレクトリを1行ごと入力。
- 「Secure additional URLs only if user is signed in」というのは多分コメントフォームをSSL化するのは登録済みユーザーがログインした状態でのみ、という設定だと思います。 「URL List」のページをSSL化するのは登録済みユーザーがログインした状態でのみ、ということだと思います。
- 「Config Page」はAdmin SSLの設定画面を「プラグイン」と「設定」どちらのページに表示するか、の設定。
■使用してみてレポート:
WordPress 2.5にて共有SSLでテストしていますが、問題なく稼働しています…と言いたいところですが、1つ問題点が。
admin丸ごとSSL化すると、投稿画面にて画像の挿入ができません。画像のアップロードやオプション設定まではできるのですが、投稿画面への挿入を行うと、サブウィンドウが真っ白になってしまいます。その他、特殊記号など挿入が必要なWYSIWYGボタンは同様にサブウィンドウが真っ白になって操作できません。moreタグボタンは機能します。
これは、「設定」>「WordPressのアドレス」にも共有SSLでのWordPressのURLを設定すると解決します。しかしそのことによる弊害が他の部分で出る可能性もあります。
多分、WYSIWYGエディタのボタン類のファンクションが上記「WordPressのアドレス」の値=get_bloginfo(‘wpurl’)を参照していて、そのURLが今表示している共有SSLのURLとドメインが違うからエラー起こしているんだと思います。Ajax、XML関連かな?
—
get_bloginfo()をハックしてhttps通信中だったら共有SSLの値(Admin SSLに設定した値を持ってくるか、あらかじめwp-config.phpあたりに共有SSLのURLをdefineしておくとか)、それ以外はSSLでないURL、と振り分けるようにすればうまくいくのかも。
—
【追記】こちらのサイトにそれらしきことに触れられています↓
SSL for WordPress Admin and the Problem with XMLHttpRequest (2008/3/20) Disruptive Library Technology Jester
いちばん簡単なのは、投稿画面(作成画面)だけはSSL化しないように、adminのその他のページをせっせと「URL List」に放り込む方法でしょうか。
■まとめ:
WordPressをポータルサイトなど会員制サイトに応用する場合、登録ユーザーの個人情報やアンケート結果などをWPの管理画面上で取り扱うこともあるかと思います。その場合SSLで暗号化されてるのは安心ですね。
以前は、サーバーのSSLディレクトリにもWordPressをもう1セット置いて、非SSL側(おもて側)のWordPressと同じデータベースを参照させることで管理画面を強引にSSL化していましたが、そうすると管理画面から投稿した画像はSSL側のディレクトリに保存されてしまい、非SSL側(おもて側)への画像のアクセスを.htaccessでSSL側へリダイレクトしたり、とかなり無理をやりました。。。
このプラグインを使えばそんなことしなくても簡単にSSL化できて便利です。感謝!
【追記 2008-12-10】
このプラグインでは、管理画面以外のページをSSL化することはできません。例えば、企業サイトのお問い合わせ用のメールフォームなどはSSLで暗号化したいかと思います。その場合、下記の記述が参考になるかもしれません。あとで作業するためにメモ。
if ($_SERVER['HTTPS']) {remove_action(‘template_redirect’, ‘redirect_canonical’);}
引用:WordPressフォーラム「独自ドメインから共有SSLを利用したURLへのリンク」lilyfan氏のコメントより
タグ: admin, SSL, WYSIWYG, セキュリティ, リダイレクト, 個人情報, 管理画面
こんばんは、質問させてください。
Admin SSL Configurationで設定して
変更を保存ボタンを押すと
「本当に実行していいですか ?」のメッセージのみで
はい、いいえのボタンが出てこないのですが
何か設定が必要でしょうか?
WordPress2.5.1日本語版で実行しています。
WordPress2.3などで試したところでは
はい、いいえのボタンが出てきたのですが・・・。
よろしくお願いします。
レスが遅くなってしまいごめんなさい;
すでに解決済みでしょうか。。
えっと、
「本当に実行していいですか ?」
というメッセージは私の環境(Mac + Safari)では表示されません。
「変更を保存」ボタンをクリックで即座に「設定を保存しました。」のメッセージがページ上部に黄色い枠で囲まれて表示されます。
ブラウザを変えてみるとどうでしょうか?
お返事ありがとうございます。
Windows IE7とSafari(Windows版)で試してみたところ、確認メッセージは出ずに
下記のようなエラーが出ました。
Warning: Cannot modify header information – headers already sent by (output started at
***¥wp-admin¥admin-header.php:26) in ***¥wp-content¥plugins¥admin-ssl-secure-admin¥admin-ssl.php on line 177
インストールしたばかりのWordPress2.5.1日本語版でも同じ症状が出てしまいました。
Macだと問題ないのですね。