Version Description
- SSL.htaccess
=
Download this release
Release Info
Developer | sakurainternet |
Plugin | Easy SSL Plugin for SAKURA Rental Server |
Version | 1.4 |
Comparing to | |
See all releases |
Code changes from version 1.3 to 1.4
- client/js/tags.js +5 -12
- modules/model/force-ssl.php +4 -30
- readme.txt +10 -11
- sakura-rs-ssl.php +4 -6
client/js/tags.js
CHANGED
@@ -1,12 +1,11 @@
|
|
1 |
riot.tag2('sakuraabout', '<div> <h2>プラグインについて</h2> <p> このプラグインはさくらのレンタルサーバ上のWordPressサイトの設定を変更して、常時SSL化を簡単に行えるプラグインです。<br> 実行の前に準備が必要ですので、以下のチェックリストをご確認の上、チェックボックスにチェックを入れてから「SSL化を実行する」ボタンをクリックしてください。 </p> <p>詳しいプラグインの使い方・注意事項は<a href="https://help.sakura.ad.jp/hc/ja/articles/115000047641" target="_blank">サポートサイト</a>をご確認ください。 </div>', '', '', function(opts) {
|
2 |
});
|
3 |
|
4 |
-
riot.tag2('sakurassladmin', '<div> <sakuranotice></sakuranotice> <sakuraabout></sakuraabout> <hr hide="{opts.ssl_status == \'true\'}"> <dl hide="{opts.ssl_status == \'true\'}"> <dt> <input type="checkbox" name="is_registered_ssl" id="is_registered_ssl" checked="{state.is_registered_ssl}" onclick="{toggle}"> <label for="is_registered_ssl"> <b>共有SSLを利用している、もしくはSSL証明書をレンタルサーバコントロールパネルから設定した</b> </label> </dt> <dd> <p> →未設定の方はSSL証明書の設定をお願いします。<br> さくらのレンタルサーバでは無料SSL機能が利用できます。<br> 設定方法は<a href="https://help.sakura.ad.jp/hc/ja/articles/115000136822" target="_blank">サポートサイト</a
|
5 |
-
|
6 |
self.state = {
|
7 |
'is_registered_ssl': false,
|
8 |
'can_access_by_ssl': false,
|
9 |
-
'ssl_type': 'sni',
|
10 |
'ssl_enable': true
|
11 |
}
|
12 |
this.toggle = function (e) {
|
@@ -14,9 +13,6 @@ riot.tag2('sakurassladmin', '<div> <sakuranotice></sakuranotice> <sakuraabout></
|
|
14 |
isEnableSsl()
|
15 |
return true
|
16 |
}.bind(this)
|
17 |
-
this.changeSSLType = function(e){
|
18 |
-
self.state[e.target.name] = e.target.value
|
19 |
-
}.bind(this)
|
20 |
function isEnableSsl() {
|
21 |
if (self.state.is_registered_ssl && self.state.can_access_by_ssl) {
|
22 |
self.state.ssl_enable = false
|
@@ -26,17 +22,14 @@ riot.tag2('sakurassladmin', '<div> <sakuranotice></sakuranotice> <sakuraabout></
|
|
26 |
}
|
27 |
});
|
28 |
|
29 |
-
riot.tag2('nosnihtaccess', '<div class="sakura-modal-row"> <div class="sakura-modal"> <h2>書き込む.htaccessソース</h2> <
|
30 |
});
|
31 |
|
32 |
riot.tag2('sakuranotice', '<div class="notice-warning notice"> <p class="notice-text" style="color:red;font-weight:bold;">このプラグインはさくらのレンタルサーバ/マネージドサーバをご利用頂いているお客様専用のプラグインです。<br> さくらのレンタルサーバ以外でご利用頂いた場合、サイト閲覧ができなくなります。 </p> </div>', '', '', function(opts) {
|
33 |
});
|
34 |
|
35 |
-
riot.tag2('
|
36 |
-
|
37 |
-
|
38 |
-
riot.tag2('sakuraupdate', '<section> <h2>このプラグインにより設定される内容</h2> <ul> <li> ・.htaccessを編集し、httpでのリクエストを全てhttpsにリダイレクトします。<br> <a onclick="{toggle}">詳しい設定内容を見る</a> </li> <li> ・WordPressのサイト設定を変更し、サイトのURLをhttpからhttpsに変更します。<br> 画像URLや投稿URLも置換されます。 </li> </ul> <p class="sakura-notice"> チェック内容を確認し、全てのチェックボックスにチェックを入れてからボタンをクリックしてください。 </p> <hr> <h2>設定後の動作について</h2> <ul> <li>・変更した内容を取り消したい場合は、プラグインを停止してください。</li> <li>・SSL利用中はプラグインを無効化/削除しないでください。</li> <li>・SSL化した後に、もとに戻したい場合は<a href="https://help.sakura.ad.jp/hc/ja/articles/115000051662#01" target="_blank">サポートサイト</a>をご確認ください。</li> <li>・SSL化を実行するとログアウトされますが、同じIDとパスワードでログインできます。</li> </ul> <snihtaccess if="{showHtaccess && opts.ssl == \'sni\'}" close="{close}"></snihtaccess> <nosnihtaccess if="{showHtaccess && opts.ssl != \'sni\'}" close="{close}"></nosnihtaccess> </section>', 'sakuraupdate .sakura-notice,[data-is="sakuraupdate"] .sakura-notice{ color: red; font-weight: bold }', '', function(opts) {
|
39 |
-
var self = this
|
40 |
self.showHtaccess = false
|
41 |
this.toggle = function (e) {
|
42 |
if(self.showHtaccess) {
|
1 |
riot.tag2('sakuraabout', '<div> <h2>プラグインについて</h2> <p> このプラグインはさくらのレンタルサーバ上のWordPressサイトの設定を変更して、常時SSL化を簡単に行えるプラグインです。<br> 実行の前に準備が必要ですので、以下のチェックリストをご確認の上、チェックボックスにチェックを入れてから「SSL化を実行する」ボタンをクリックしてください。 </p> <p>詳しいプラグインの使い方・注意事項は<a href="https://help.sakura.ad.jp/hc/ja/articles/115000047641" target="_blank">サポートサイト</a>をご確認ください。 </div>', '', '', function(opts) {
|
2 |
});
|
3 |
|
4 |
+
riot.tag2('sakurassladmin', '<div> <sakuranotice></sakuranotice> <sakuraabout></sakuraabout> <hr hide="{opts.ssl_status == \'true\'}"> <dl hide="{opts.ssl_status == \'true\'}"> <dt> <input type="checkbox" name="is_registered_ssl" id="is_registered_ssl" checked="{state.is_registered_ssl}" onclick="{toggle}"> <label for="is_registered_ssl"> <b>共有SSLを利用している、もしくはSSL証明書をレンタルサーバコントロールパネルから設定した</b> </label> </dt> <dd> <p> →未設定の方はSSL証明書の設定をお願いします。<br> さくらのレンタルサーバでは無料SSL機能が利用できます。<br> 設定方法は<a href="https://help.sakura.ad.jp/hc/ja/articles/115000136822" target="_blank">サポートサイト</a>をご確認ください。<br> </p> </dd> <dt> <input type="checkbox" name="can_access_by_ssl" id="can_access_by_ssl" checked="{state.can_access_by_ssl}" onclick="{toggle}"> <label for="can_access_by_ssl"> <b>実際にSSLを利用してサイトと管理画面へアクセスできる。</b> </label> </dt> <dd> <ul> <li><a href="{opts.home_url}" target="_blank">{opts.home_url}</a></li> <li><a href="{opts.admin_url}" target="_blank">{opts.admin_url}</a></li> </p> </dd> </dl> <hr> <sakuraupdate></sakuraupdate> <hr show="{opts.ssl_status == \'true\'}"> <div show="{opts.ssl_status == \'true\'}"> <h2>このサイトでは常時SSL設定が有効化されています<h2> <p>有効化後に.htaccessを直接編集した場合、予期せぬ動作を起こす可能性がありますのでご了承ください。</p> <p>なお常時SSL設定を再度実施される場合は、一度プラグインを停止後再度有効化してください。</p> </div> <p class="submit" hide="{opts.ssl_status == \'true\'}"> <input type="submit" name="submit" id="submit" class="button button-primary button-large" value="SSL化を実行する" disabled="{state.ssl_enable}"> <span show="{state.ssl_enable}">チェックリスト内容を全て確認してください。</span> </p> </div>', 'sakurassladmin .checkbox-indent,[data-is="sakurassladmin"] .checkbox-indent{ display: inline-block; width: 23px; } sakurassladmin .sakura-modal-row,[data-is="sakurassladmin"] .sakura-modal-row{ position: fixed; top: 0; left: 0; background: rgba(0,0,0,0.8); height: 100%; width: 100%; z-index: 9999; display: -webkit-box; display: -moz-box; display: box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; box-align: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; -ms-flex-align: center; -webkit-box-orient: vertical; -moz-box-orient: vertical; box-orient: vertical; -webkit-flex-direction: column; -moz-flex-direction: column; flex-direction: column; -ms-flex-direction: column; -webkit-box-pack: center; -moz-box-pack: center; box-pack: center; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; -ms-flex-pack: center; } sakurassladmin .sakura-modal,[data-is="sakurassladmin"] .sakura-modal{ background: #fff; padding: 20px; overflow: scroll; }', '', function(opts) {
|
5 |
+
const self = this
|
6 |
self.state = {
|
7 |
'is_registered_ssl': false,
|
8 |
'can_access_by_ssl': false,
|
|
|
9 |
'ssl_enable': true
|
10 |
}
|
11 |
this.toggle = function (e) {
|
13 |
isEnableSsl()
|
14 |
return true
|
15 |
}.bind(this)
|
|
|
|
|
|
|
16 |
function isEnableSsl() {
|
17 |
if (self.state.is_registered_ssl && self.state.can_access_by_ssl) {
|
18 |
self.state.ssl_enable = false
|
22 |
}
|
23 |
});
|
24 |
|
25 |
+
riot.tag2('nosnihtaccess', '<div class="sakura-modal-row"> <div class="sakura-modal"> <h2>書き込む.htaccessソース</h2> <pre>\n# BEGIN Force SSL for SAKURA\n# 常時HTTPS化(HTTPSが無効な場合リダイレクト)\n<IfModule mod_rewrite.c>\nRewriteEngine on\nRewriteCond %{⁗{⁗}HTTPS{⁗}⁗} !on\nRewriteRule .* https://%{⁗{⁗}HTTP_HOST{⁗}⁗}%{⁗{⁗}REQUEST_URI{⁗}⁗}[R=301,L]\n</IfModule>\n# END Force SSL for SAKURA\n </pre> <span class="button button-primary button-large" onclick="{opts.close}">閉じる</span> </div> </div>', '', '', function(opts) {
|
26 |
});
|
27 |
|
28 |
riot.tag2('sakuranotice', '<div class="notice-warning notice"> <p class="notice-text" style="color:red;font-weight:bold;">このプラグインはさくらのレンタルサーバ/マネージドサーバをご利用頂いているお客様専用のプラグインです。<br> さくらのレンタルサーバ以外でご利用頂いた場合、サイト閲覧ができなくなります。 </p> </div>', '', '', function(opts) {
|
29 |
});
|
30 |
|
31 |
+
riot.tag2('sakuraupdate', '<section> <h2>このプラグインにより設定される内容</h2> <ul> <li> ・.htaccessを編集し、httpでのリクエストを全てhttpsにリダイレクトします。<br> <a onclick="{toggle}">詳しい設定内容を見る</a> </li> <li> ・WordPressのサイト設定を変更し、サイトのURLをhttpからhttpsに変更します。<br> 画像URLや投稿URLも置換されます。 </li> </ul> <p class="sakura-notice"> チェック内容を確認し、全てのチェックボックスにチェックを入れてからボタンをクリックしてください。 </p> <hr> <h2>設定後の動作について</h2> <ul> <li>・変更した内容を取り消したい場合は、プラグインを停止してください。</li> <li>・SSL利用中はプラグインを無効化/削除しないでください。</li> <li>・SSL化した後に、もとに戻したい場合は<a href="https://help.sakura.ad.jp/hc/ja/articles/115000051662#01" target="_blank">サポートサイト</a>をご確認ください。</li> <li>・SSL化を実行するとログアウトされますが、同じIDとパスワードでログインできます。</li> </ul> <nosnihtaccess if="{showHtaccess}" close="{close}"></nosnihtaccess> </section>', 'sakuraupdate .sakura-notice,[data-is="sakuraupdate"] .sakura-notice{ color: red; font-weight: bold }', '', function(opts) {
|
32 |
+
const self = this
|
|
|
|
|
|
|
33 |
self.showHtaccess = false
|
34 |
this.toggle = function (e) {
|
35 |
if(self.showHtaccess) {
|
modules/model/force-ssl.php
CHANGED
@@ -18,18 +18,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
**/
|
19 |
class Force_ssl_sakura {
|
20 |
const HTACCESS_MARKER = 'Force SSL for SAKURA';
|
21 |
-
const HTACCESS_REWRITE_RULE = array(
|
22 |
-
'# RewriteしてもHTTPS環境変数を有効にする',
|
23 |
-
'SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1',
|
24 |
-
'',
|
25 |
-
'# 常時HTTPS化(HTTPSが無効な場合リダイレクト)',
|
26 |
-
'<IfModule mod_rewrite.c>',
|
27 |
-
'RewriteEngine on',
|
28 |
-
'RewriteCond %{ENV:HTTPS} !on',
|
29 |
-
'RewriteCond %{REQUEST_URI} !/wp-cron\.php$',
|
30 |
-
'RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]',
|
31 |
-
'</IfModule>',
|
32 |
-
);
|
33 |
const HTACCESS_REWRITE_RULE_NO_SNI = array(
|
34 |
'# 常時HTTPS化(HTTPSが無効な場合リダイレクト)',
|
35 |
'<IfModule mod_rewrite.c>',
|
@@ -61,23 +49,10 @@ class Force_ssl_sakura {
|
|
61 |
*
|
62 |
* @access public
|
63 |
* @param string $htaccess_file .htaccess file path.
|
64 |
-
* @param string $ssl_type ssl type.
|
65 |
* @since 0.1.0
|
66 |
**/
|
67 |
-
public function insert_htaccess_rule( $htaccess_file
|
68 |
-
|
69 |
-
case 'no_sni':
|
70 |
-
$htaccess_template = self::HTACCESS_REWRITE_RULE_NO_SNI;
|
71 |
-
break;
|
72 |
-
|
73 |
-
case 'sni':
|
74 |
-
$htaccess_template = self::HTACCESS_REWRITE_RULE;
|
75 |
-
break;
|
76 |
-
|
77 |
-
default:
|
78 |
-
return new WP_Error( 'Sakura SSL type Error', "Type:{$ssl_type} is invalid type." );
|
79 |
-
break;
|
80 |
-
}
|
81 |
return $this->_insert_sakura_ssl_with_markers( $htaccess_file, self::HTACCESS_MARKER, $htaccess_template );
|
82 |
}
|
83 |
|
@@ -125,10 +100,9 @@ class Force_ssl_sakura {
|
|
125 |
* Update WordPress settings
|
126 |
*
|
127 |
* @access public
|
128 |
-
* @param string $ssl_type ssl type.
|
129 |
* @since 0.1.0
|
130 |
**/
|
131 |
-
public function activate(
|
132 |
$htaccess_file = $this->htaccess_file();
|
133 |
if ( is_wp_error( $htaccess_file ) ) {
|
134 |
return $htaccess_file;
|
@@ -136,7 +110,7 @@ class Force_ssl_sakura {
|
|
136 |
if ( ! got_mod_rewrite() ) {
|
137 |
return new WP_Error( 'Sakura SSL update Error', '.htaccessの書き込み権限がありません。書き込み権限を設定してから再度実行してください。');
|
138 |
}
|
139 |
-
$this->insert_htaccess_rule( $htaccess_file
|
140 |
update_option( Sakura_Base::SAKURA_FORCE_SSL, true );
|
141 |
$login_url = wp_login_url();
|
142 |
$pattern = '%http://%';
|
18 |
**/
|
19 |
class Force_ssl_sakura {
|
20 |
const HTACCESS_MARKER = 'Force SSL for SAKURA';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
const HTACCESS_REWRITE_RULE_NO_SNI = array(
|
22 |
'# 常時HTTPS化(HTTPSが無効な場合リダイレクト)',
|
23 |
'<IfModule mod_rewrite.c>',
|
49 |
*
|
50 |
* @access public
|
51 |
* @param string $htaccess_file .htaccess file path.
|
|
|
52 |
* @since 0.1.0
|
53 |
**/
|
54 |
+
public function insert_htaccess_rule( $htaccess_file ) {
|
55 |
+
$htaccess_template = self::HTACCESS_REWRITE_RULE_NO_SNI;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
return $this->_insert_sakura_ssl_with_markers( $htaccess_file, self::HTACCESS_MARKER, $htaccess_template );
|
57 |
}
|
58 |
|
100 |
* Update WordPress settings
|
101 |
*
|
102 |
* @access public
|
|
|
103 |
* @since 0.1.0
|
104 |
**/
|
105 |
+
public function activate() {
|
106 |
$htaccess_file = $this->htaccess_file();
|
107 |
if ( is_wp_error( $htaccess_file ) ) {
|
108 |
return $htaccess_file;
|
110 |
if ( ! got_mod_rewrite() ) {
|
111 |
return new WP_Error( 'Sakura SSL update Error', '.htaccessの書き込み権限がありません。書き込み権限を設定してから再度実行してください。');
|
112 |
}
|
113 |
+
$this->insert_htaccess_rule( $htaccess_file );
|
114 |
update_option( Sakura_Base::SAKURA_FORCE_SSL, true );
|
115 |
$login_url = wp_login_url();
|
116 |
$pattern = '%http://%';
|
readme.txt
CHANGED
@@ -2,8 +2,9 @@
|
|
2 |
Contributors: sakurainternet
|
3 |
Tags: ssl
|
4 |
Requires at least: 4.7.0
|
5 |
-
Tested up to:
|
6 |
-
|
|
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -51,14 +52,12 @@ SSL証明書の購入や設定はお客様で事前に必要となりますの
|
|
51 |
* WordPressがサブディレクトリにインストールされている場合に予約投稿に失敗するバグを修正
|
52 |
※このアップデートを適用するには、プラグインをアップデートした上で、プラグインの停止→有効化を行って再度プラグイン画面からSSL化を実行してください。
|
53 |
= 1.3 =
|
54 |
-
* example.com のドメイン設定で www.example.com
|
|
|
|
|
|
|
|
|
55 |
== Upgrade Notice ==
|
56 |
|
57 |
-
= 1.
|
58 |
-
*
|
59 |
-
= 1.1 =
|
60 |
-
* パーマリンク設定されている場合に投稿ページがリダイレクトされない場合があるバグを修正
|
61 |
-
= 1.2 =
|
62 |
-
* WordPressがサブディレクトリにインストールされている場合に予約投稿に失敗するバグを修正
|
63 |
-
= 1.3 =
|
64 |
-
* 機能改善を実施
|
2 |
Contributors: sakurainternet
|
3 |
Tags: ssl
|
4 |
Requires at least: 4.7.0
|
5 |
+
Tested up to: 5.0.3
|
6 |
+
Requires PHP: 5.6
|
7 |
+
Stable tag: 1.4.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
52 |
* WordPressがサブディレクトリにインストールされている場合に予約投稿に失敗するバグを修正
|
53 |
※このアップデートを適用するには、プラグインをアップデートした上で、プラグインの停止→有効化を行って再度プラグイン画面からSSL化を実行してください。
|
54 |
= 1.3 =
|
55 |
+
* example.com のドメイン設定で www.example.com のサイトを運営している場合に発生するリダイレクトループを防止する機能を追加しました。自動的
|
56 |
+
に対応しますのでお客様側の設定変更は必要ありません。
|
57 |
+
= 1.4 =
|
58 |
+
* SSLの種類を選択することなく.htaccessの設定を更新できるようになりました。
|
59 |
+
|
60 |
== Upgrade Notice ==
|
61 |
|
62 |
+
= 1.4 =
|
63 |
+
* SSLの種類を選択することなく.htaccessの設定を更新できるようになりました。
|
|
|
|
|
|
|
|
|
|
|
|
sakura-rs-ssl.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* Plugin URI: https://help.sakura.ad.jp/hc/ja/articles/115000047641
|
8 |
* Text Domain: sakura-rs-ssl
|
9 |
* Domain Path: /languages
|
10 |
-
* Version: 1.
|
11 |
*
|
12 |
* @package Sakura_Ssl
|
13 |
* License:
|
@@ -136,10 +136,8 @@ class Sakura_Ssl_Controller {
|
|
136 |
$key = Sakura_Base::SAKURA_FORCE_SSL;
|
137 |
if ( isset( $_POST[ $key ] ) && $_POST[ $key ] ) {
|
138 |
if ( check_admin_referer( $key, $key ) ) {
|
139 |
-
|
140 |
-
|
141 |
-
$this->wp_error = $sakura->activate( $_POST['ssl_type'] );
|
142 |
-
}
|
143 |
if ( is_wp_error( $this->wp_error ) ) {
|
144 |
add_action('admin_notices', array( $this, 'admin_alert' ) );
|
145 |
}
|
@@ -165,6 +163,6 @@ class Sakura_Ssl_Controller {
|
|
165 |
**/
|
166 |
public function admin_scripts() {
|
167 |
wp_enqueue_script( 'sakura-riot', path_join( SAKURA_PLUGIN_URL, 'client/js/riot.min.js' ), array(), '3.2.0', false );
|
168 |
-
wp_enqueue_script( 'sakura-admin-components', path_join( SAKURA_PLUGIN_URL, 'client/js/tags.js' ), array( 'jquery', 'sakura-riot' ), '0.
|
169 |
}
|
170 |
}
|
7 |
* Plugin URI: https://help.sakura.ad.jp/hc/ja/articles/115000047641
|
8 |
* Text Domain: sakura-rs-ssl
|
9 |
* Domain Path: /languages
|
10 |
+
* Version: 1.4.0
|
11 |
*
|
12 |
* @package Sakura_Ssl
|
13 |
* License:
|
136 |
$key = Sakura_Base::SAKURA_FORCE_SSL;
|
137 |
if ( isset( $_POST[ $key ] ) && $_POST[ $key ] ) {
|
138 |
if ( check_admin_referer( $key, $key ) ) {
|
139 |
+
$sakura = new Force_ssl_sakura();
|
140 |
+
$this->wp_error = $sakura->activate();
|
|
|
|
|
141 |
if ( is_wp_error( $this->wp_error ) ) {
|
142 |
add_action('admin_notices', array( $this, 'admin_alert' ) );
|
143 |
}
|
163 |
**/
|
164 |
public function admin_scripts() {
|
165 |
wp_enqueue_script( 'sakura-riot', path_join( SAKURA_PLUGIN_URL, 'client/js/riot.min.js' ), array(), '3.2.0', false );
|
166 |
+
wp_enqueue_script( 'sakura-admin-components', path_join( SAKURA_PLUGIN_URL, 'client/js/tags.js' ), array( 'jquery', 'sakura-riot' ), '0.2.0', false );
|
167 |
}
|
168 |
}
|