AdvancedLicense

AdvancedLicense - 开发者授权管理插件

开发者为其插件授权的最简方式
Bukkit / Spigot 作者 Leoko 支持版本 未标注
服务器使用量
未统计
服务玩家数
未统计
下载量
9,605
插件详细介绍

AdvancedLicense 是一款高效的许可证管理系统,它提供易于使用的 Web 界面来创建、管理和删除许可证,同时拥有一个简单而强大的 API,可轻松将系统集成到您的插件中。这意味着您可以让用户先测试插件再付款,而无需担心收不到款项。信任,但也要验证!请注意,您不得将受许可证保护的插件上传至 Spigot。

核心特性

  • 通过 Web 面板轻松管理许可证
  • 采用加密密钥认证保护系统
  • 可快速将 API 集成到您的插件中
  • 支持限制每个许可证的 IP 数量
  • Web 面板采用加密登录系统
  • 许可证可与特定插件绑定
  • 支持设置许可证过期日期
  • 自动提供问题解决方案建议
  • 提供许可证的实时统计数据
  • 更多功能,请查看在线预览

关于安全性的讨论

所有这些功能听起来都很棒,但 AdvancedLicense 到底有多安全?在其设计范围内,AdvancedLicense 是非常安全的。这意味着我们已经尽可能地将可控部分设计得足够安全。

但事实是,Java 可执行文件可以被反编译,尤其是包含许可证密钥和 URL 的字符串,在大多数情况下很容易被检测、移除或篡改。因此,如果攻击者拥有足够的技术知识并成功绕过您的代码混淆(至少找到了密钥),那么 AdvancedLicense 将无法保护您。

话虽如此,在许多场景下,AdvancedLicense 能够抵御来自外部的各种攻击,例如拦截并伪造许可证服务器的请求。最后需要说明的是,AdvancedLicense 从未旨在提供一个 100% 防欺诈的解决方案,它只是大大降低了这种可能性。实际上,大多数购买插件的用户并不具备绕过此系统的技术知识。

如果您有任何提高安全性的想法,或对此系统有进一步的疑问/担忧,请加入我们的 Discord。

使用要求

要使用 AdvancedLicense,您需要准备:

  • 一台支持 PHP 的 Web 服务器
  • 一台 MySQL 服务器

您可以在以下地址查看 Web 面板的完整在线演示:

http://indev.skamps.eu/license

  • 用户名:spigot_access
  • 密码:spigot123

安装与设置指南

设置过程非常简单,大部分步骤由 AdvancedLicense 自动完成。

如何设置 Web 面板(需首先完成)

  • 下载本资源文件。
  • 将 “webpanel” 文件夹中的所有文件复制并粘贴到您的 Web 服务器上。
  • config.php 文件中填写 MySQL 数据库信息和管理员登录凭据。
  • 在浏览器中打开 Web 面板,并按照显示的步骤操作。
  • 完成后,您就可以开始管理许可证了。

如何集成 API

  • AdvancedLicense.java 文件粘贴到您的 Java 项目中。
  • 在插件的 onEnable 方法中,选择以下一种方式集成我们的 API。

集成方式示例

基础集成:

if(!new AdvancedLicense("YourLicense", "http://your.domain.com/License/verify.php", this).register()) return;

进阶集成(控制台日志):

if(!new AdvancedLicense("YourLicense", "http://your.domain.com/License/verify.php", this).setConsoleLog(LogType.NONE).register()) return;
  • LogType.NONE - 控制台无输出(隐蔽模式)
  • LogType.LOW - 输出简要信息
  • LogType.NORMAL - 输出结构良好的信息(默认)

更安全的集成(自定义安全密钥):

if(!new AdvancedLicense("YourLicense", "http://your.domain.com/License/verify.php", this).setSecurityKey("YOUR_OWN_SECURITY_KEY").register()) return;

请注意:如果您设置了自定义安全密钥,必须在 Web 服务器上的 config.php 文件中填入相同的密钥。

调试模式:

if(!new AdvancedLicense("YourLicense", "http://your.domain.com/License/verify.php", this).debug().register()) return;

调试模式将

  • 显示请求的 URL。
  • 在出现 “URL_ERROR” 时提供确切的错误信息。

面向高级开发者(手动验证):

ValidationType vt = new AdvancedLicense("YourLicense", "http://your.domain.com/License/verify.php", this).isValid();
if(vt == ???){
    // 您的代码
}else if(vt == ??? || vt == ???){
    // 您的代码
} else{
    // 您的代码
}

可用的验证类型 (ValidationType) 包括:

WRONG_RESPONSE, PAGE_ERROR, URL_ERROR, KEY_OUTDATED, KEY_NOT_FOUND, NOT_VALID_IP, INVALID_PLUGIN, VALID

配置文件说明

以下是 config.php 文件的核心配置部分说明:

// MySQL 数据库设置
define("DB_NAME", "Licenses");
define("HOST", "localhost");
define("USERNAME", "YOUR-USERNAME");
define("PASSWORD", "YOUR-PASSWORD");

// 安全密钥设置 (CKAP_KEY)
// 此密钥用于加密密钥认证保护,长度必须为 36 位(仅包含 1 和 0)
// 如果在 Java 端使用了 .setSecurityKey(),此处必须更改为相同的密钥
define("CKAP_KEY", "YecoF0I6M05thxLeokoHuW8iUhTdIUInjkfF");

// 统计功能
// 设置为 true 以记录和显示许可证请求数据
define("STATS", true);

// 管理员账户(初始登录凭据)
define("ADMIN_USERNAME", "");
define("ADMIN_PASSWORD", "");
// 如需添加更多账户,请直接向 MySQL 服务器的 ‘users‘ 表中插入数据

// 搜索引擎索引控制
define("NOINDEX", true); // 阻止搜索引擎索引
define("NOFOLLOW", false); // 阻止搜索引擎跟踪链接

其他信息与支持

  • 欢迎查看我们开发的免费发票工具:Liberty Invoice - Free Invoicing Tool
  • 如果您发现任何错误或有任何问题,请随时联系我们。
  • 我们仅通过 Discord 提供官方支持:https://discord.gg/ycDG6rS
  • 如果您喜欢 AdvancedLicense,请给我们 5/5 的评分以示支持。
  • 感谢 @FusionStyleFX 提出这个插件的创意。

请注意: 如果您发现任何错误,请在给出差评前尝试联系我们。我们也提供了英文安装和使用教程,可供参考。

版本分布
基本信息
插件名称 AdvancedLicense
作者 Leoko
平台 Bukkit / Spigot
支持版本 未标注
点赞数 18
最近版本
暂无数据 -