2014年12月24日水曜日

FORCE_SSL_LOGINってWordPress 4.0から廃止(FORCE_SSL_ADMINとして動作)

ここ最近チェックしてなかったんですが、JetPack連携でひっかかったので調べてみました。

するとログインだけSSL暗号化するというオプション「FORCE_SSL_LOGIN」については、WordPress 4.0から廃止されたようで、これが原因みたいですね。

wp-includes/default-constants.php
/**
* @since 2.6.0
* @deprecated 4.0.0
*/
if ( defined( 'FORCE_SSL_LOGIN' ) && FORCE_SSL_LOGIN ) {
force_ssl_admin( true );
}


とまぁなっていますが、つまりFORCE_SSL_LOGINが定義されていたら、FORCE_SSL_ADMINと同じように処理しておくようにってことに変わっているんですね。実際にFORCE_SSL_LOGINを処理していた関数「force_ssl_login」についても

wp-includes/functions.php
function force_ssl_login( $force = null ) {
return force_ssl_admin( $force );
}

とかになって、force_ssl_adminに変わってますねぇ。

ということで、FORCE_SSL_LOGIN自体はもう使えないってことです。
使ってもFORCE_SSL_ADMINの処理になっちゃう。

このあたりは

ブログで詳しく説明されています。

何が問題なの?

FORCE_SSL_ADMINはログインだけでなく、管理画面をまるごとSSL暗号化に対応します。もちろんSSL対応なウェブサーバーであり設定していないとつかえません。

で問題が発生するのはSSL暗号化をするために「オレオレ証明書」を使っているケースです。オレオレじゃないのは、お金を払って証明書を購入し登録するっていうことで、それがいいのですがすべてのケースにおいて出来ない可能性があります。

まぁセキュリティ上の問題などは脇においておくとして、

オレオレ証明書の場合には、JetPack連携ができない

とかまぁそういう問題があるんです。
不便ですよね?
以前は、FORCE_SSL_LOGINを使ってログイン時のみSSL暗号化して、パスワードを守っていった上、管理画面は非暗号(http:// 接続)することができました。そうしておけば、JetPack連携時には非暗号連携にあるので、

wp-config.phpに「define(‘JETPACK_CLIENT_HTTPS’, ‘NEVER’);」を追加

をしておけばいけのたです。
それがWordPress 4.0からは出来なくなったってことですね....

0 件のコメント:

コメントを投稿