产品端:集成文派 (WordPress) 安全更新 PHP 库 SDK

要求

  • WordPress 5.0 或更高版本
  • PHP 5.6 或更高版本
  • OpenSSL PHP 扩展
  • 插件目录的写入权限

安装

  1. 下载 PHP 库文件
  2. 将它们放在你的插件目录中:
your-plugin/
├── secure-updates/
│   └── secure-updates-library.php
├── your-plugin.php
└── [...other files]

快速入门

基本实现

/**
 * Initialize Secure Updates Library
 */
if (!isset($secure_updates_instances) || !is_array($secure_updates_instances)) {
    $secure_updates_instances = [];
}

include_once trailingslashit(plugin_dir_path(__FILE__)) . 'secure-updates/secure-updates-library.php';

$secure_updates_instances[] = new Secure_Updates_Library(
    'https://your-update-server.com',  // Your update server URL
    '1.0.0',                          // Your plugin version
    'your-api-key'                    // Your API key
);

高级实现

$secure_updates_instances[] = new Secure_Updates_Library(
    'https://your-update-server.com',
    '1.0.0',
    'your-api-key',
    false, // Test mode
    [
        'verify_packages' => true,
        'enable_logging' => true,
        'health_monitoring' => true,
        'rate_limiting' => [
            'requests_per_minute' => 30
        ]
    ]
);

配置选项

测试模式

// Enable test mode to verify server connection
$test_mode = true;

包裹验证

$options['verify_packages'] = true; // Enable package verification

速率限制

$options['rate_limiting'] = [
    'requests_per_minute' => 30,
    'burst' => 5
];

日志记录

$options['enable_logging'] = true;
$options['log_level'] = 'debug'; // error, warning, info, debug

服务器要求

您的更新服务器必须实现以下端点:

  • /wp-json/secure-updates-server/v1/info/{slug}
  • /wp-json/secure-updates-server/v1/download/{slug}
  • /wp-json/secure-updates-server/v1/verify_file/{slug}
  • /wp-json/secure-updates-server/v1/connected

安全功能

  • 包校验和验证
  • API 密钥认证
  • SSL/TLS 要求
  • 限速保护
  • 更新前备份
  • 文件完整性检查

健康监测

该库与 WordPress Site Health 集成并提供:

  • 系统兼容性检查
  • 服务器连接监控
  • 更新系统诊断
  • SSL/TLS 验证
  • 文件权限检查

记录系统

综合记录:

  • 多种日志级别
  • 上下文信息
  • 日志轮换
  • 管理界面集成
  • Debug.log 集成

开发

调试

在 wp-config.php 中启用调试模式:

define('WP_DEBUG', true);
define('SUP_DEBUG', true);