Force endpoint to use https

pull/42/head
sy-records 2024-07-24 08:19:52 +08:00
parent c32790061d
commit eda8511bda
No known key found for this signature in database
GPG Key ID: C3BB4FF13CD72ACE
2 changed files with 11 additions and 13 deletions

View File

@ -3,7 +3,7 @@
Plugin Name: OSS Aliyun Plugin Name: OSS Aliyun
Plugin URI: https://github.com/sy-records/aliyun-oss-wordpress Plugin URI: https://github.com/sy-records/aliyun-oss-wordpress
Description: 使用阿里云对象存储 OSS 作为附件存储空间。This is a plugin that uses Aliyun Object Storage Service for attachments remote saving. Description: 使用阿里云对象存储 OSS 作为附件存储空间。This is a plugin that uses Aliyun Object Storage Service for attachments remote saving.
Version: 1.4.15 Version: 1.4.16
Author: 沈唁 Author: 沈唁
Author URI: https://qq52o.me Author URI: https://qq52o.me
License: Apache2.0 License: Apache2.0
@ -19,7 +19,7 @@ use OSS\Credentials\CredentialsProvider;
use AlibabaCloud\Credentials\Credential; use AlibabaCloud\Credentials\Credential;
use OSS\Credentials\StaticCredentialsProvider; use OSS\Credentials\StaticCredentialsProvider;
define('OSS_VERSION', '1.4.15'); define('OSS_VERSION', '1.4.16');
define('OSS_BASEFOLDER', plugin_basename(dirname(__FILE__))); define('OSS_BASEFOLDER', plugin_basename(dirname(__FILE__)));
if (!function_exists('get_home_path')) { if (!function_exists('get_home_path')) {
@ -78,7 +78,6 @@ function oss_get_client()
$oss_options = get_option('oss_options', true); $oss_options = get_option('oss_options', true);
$role_name = esc_attr($oss_options['role_name'] ?? ''); $role_name = esc_attr($oss_options['role_name'] ?? '');
$endpoint = oss_get_bucket_endpoint($oss_options); $endpoint = oss_get_bucket_endpoint($oss_options);
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? 'https://' : 'http://';
if (!empty($role_name)) { if (!empty($role_name)) {
$ecsRamRole = new Credential([ $ecsRamRole = new Credential([
@ -94,7 +93,7 @@ function oss_get_client()
} }
$config = [ $config = [
'provider' => $provider, 'provider' => $provider,
'endpoint' => $protocol . $endpoint, 'endpoint' => $endpoint,
'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4, 'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4,
'region' => str_replace('oss-', '', esc_attr($oss_options['regional'])), 'region' => str_replace('oss-', '', esc_attr($oss_options['regional'])),
]; ];
@ -103,12 +102,12 @@ function oss_get_client()
function oss_get_bucket_endpoint($oss_options) function oss_get_bucket_endpoint($oss_options)
{ {
$oss_regional = esc_attr($oss_options['regional']); $regional = esc_attr($oss_options['regional']);
if ($oss_options['is_internal'] == 'true') { if ($oss_options['is_internal'] == 'true') {
return "{$oss_regional}-internal.aliyuncs.com"; return "https://{$regional}-internal.aliyuncs.com";
} }
return "{$oss_regional}.aliyuncs.com"; return "https://{$regional}.aliyuncs.com";
} }
function oss_get_bucket_name() function oss_get_bucket_name()
@ -576,11 +575,6 @@ function oss_setting_post_thumbnail_style($html, $post_id, $post_image_id)
return $html; return $html;
} }
/**
* @link https://help.aliyun.com/zh/oss/user-guide/regions-and-endpoints
* @param string $regional
* @return void
*/
function oss_get_regional($regional) function oss_get_regional($regional)
{ {
$options = [ $options = [

View File

@ -5,7 +5,7 @@ Tags: oss, 阿里云, 对象存储, aliyun
Requires at least: 4.6 Requires at least: 4.6
Tested up to: 6.6 Tested up to: 6.6
Requires PHP: 7.1 Requires PHP: 7.1
Stable tag: 1.4.15 Stable tag: 1.4.16
License: Apache2.0 License: Apache2.0
License URI: http://www.apache.org/licenses/LICENSE-2.0.html License URI: http://www.apache.org/licenses/LICENSE-2.0.html
@ -78,6 +78,10 @@ License URI: http://www.apache.org/licenses/LICENSE-2.0.html
= 1.4.15 = = 1.4.15 =
- 强制 endpoint 使用 https
= 1.4.15 =
- 将阿里云V1签名升级为V4签名 - 将阿里云V1签名升级为V4签名
= 1.4.14 = = 1.4.14 =