[WordPress] 外掛分享: JB License Manager for WooCommerce

首頁外掛目錄 › JB License Manager for WooCommerce
WordPress 外掛 JB License Manager for WooCommerce 的封面圖片
全新外掛
安裝啟用
尚無評分
剛更新
最後更新
問題解決
WordPress 5.8+ PHP 7.2+ v2.0.0 上架:2026-03-17

內容簡介

JB License Manager for WooCommerce 將您的 WordPress + WooCommerce 網站轉變為完整的軟體授權伺服器,能夠自動生成加密授權金鑰,控制授權使用的網域,並即時撤銷訪問權限,讓數位產品的銷售與管理變得更加簡單高效。

【主要功能】
• 自動生成加密授權金鑰
• WooCommerce 自動發送授權金鑰
• 支援多網域啟用
• 即時遠端停用授權
• 設定授權有效期限
• 完整的 REST API 支援

外掛標籤

開發者團隊

⬇ 下載最新版 (v2.0.0) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「JB License Manager for WooCommerce」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

JB License Manager for WooCommerce turns your WordPress + WooCommerce site into a complete software licensing server. Sell plugins, themes, SaaS tools, or any digital product and automatically deliver encrypted license keys, control which domains can use each license, and revoke access instantly — all from your own WordPress dashboard.
🔑 Core Licensing

Automatic key generation — cryptographically random keys with customizable prefix (e.g. MYAPP-XXXXXX-XXXXXX-XXXXXX)
WooCommerce auto-delivery — license key is emailed to the customer the moment an order is completed, processing, or payment confirmed
Multi-domain activation — each license can allow 1 to unlimited domains (configured per product)
Domain allow / disallow — admin or customer can block a specific domain without revoking the whole license
Instant remote deactivation — when a domain is disallowed, the client plugin detects it within 15 seconds via WordPress Heartbeat and immediately locks premium features — no click required on the client site
Expiry by months or years — set 1 Month, 3 Months, 6 Months, 1 Year, 2 Years, or any duration (1–120 months / 1–10 years)
Status management — Active, Inactive, Suspended, Expired, Revoked
Automatic expiry — daily cron marks licenses expired and sends reminder emails
Domain-level encryption — activated domain names are hashed and never stored in plain text

🛒 WooCommerce Integration

Dedicated License product tab — enable licensing per product with one click
Set max domains, validity period, and key prefix per product
Auto-fill license settings from product when creating a manual license
License key shown on the order details page inside WooCommerce
My Account → Licenses — full customer portal with all purchased licenses
Customer can view, copy, and allow/disallow their own domains without contacting support
Per-domain popup card showing activation date, last validated time, and IP address

🌐 REST API
Full public and admin REST API at /wp-json/jb-license-manager/v1/:
Public endpoints (license key authentication):

POST /activate — register a domain against a license key
POST /validate — verify a license key + domain (12-hour cached on client)
POST /deactivate — release a domain slot
POST /status — lightweight heartbeat check (does not update last_validated)

Admin endpoints (API key or logged-in admin):

GET /licenses — list all licenses with pagination, search, status filter
POST /licenses — create a license programmatically
GET /licenses/{id} — get single license with activations
PUT /licenses/{id} — update status, max_domains, expiry
DELETE /licenses/{id} — revoke a license
GET /licenses/{id}/activations — list all domain activations
GET /stats — dashboard stats (total, active, expired, expiring, revoked)

📊 Admin Dashboard

Stats cards — Total / Active / Expiring Soon / Expired / Revoked at a glance
Filterable table — search by email or key, filter by status
Click-to-copy license keys
View Sites popup modal — see all activated domains per license, allow/disallow with one click, quick status change
Domain progress bar — visual fill showing slots used vs. available
Expiry countdown — “14d left” shown in amber when expiring soon
Activity Logs page — last 500 events with time, license key, action, domain, IP, and result
Settings page — key prefix, expiry reminder days, email from name/address, email subject and template, REST API key

✉️ Email Notifications

License delivery email — sent automatically on WooCommerce order completion
Expiry reminder email — sent N days before expiry (configurable)
Status change email — sent when license is suspended or revoked
Fully customizable HTML template with placeholder tags: {license_key}, {expires_at}, {max_domains}, {order_id}, {customer_email}, {site_name}, {site_url}

📤 CSV Export / Import

Export all or filtered licenses to CSV with one click
CSV includes: ID, License Key, Customer Email, Status, Max Domains, Active Domains, Expiry, Order ID, Product ID, Created At, Active Domain URLs
Bulk import licenses from CSV — only customer_email required; other columns optional
Drag-and-drop upload zone in admin
Duplicate keys automatically skipped on import with per-row error reporting

🔒 Security

All domain names stored as SHA-256 hashes — even database access cannot reveal which domains are activated
Encryption secret key auto-generated on activation and stored securely in the database. Optionally define JBLM_SECRET_KEY in wp-config.php to use a custom value
All AJAX handlers protected with wp_nonce and current_user_can() checks
All API inputs sanitized with sanitize_text_field(), sanitize_email(), intval()
All outputs escaped with esc_html(), esc_attr(), esc_url()
All database queries use $wpdb->prepare() with parameterized placeholders

📦 Client SDK
Include the bundled jblm-client.php in your plugin or theme see sample below:
register_ajax_hooks();
});

// ============================================================
// STEP 4 — Block your premium features if license is not active
// Put this check at the top of any function that has premium code.
// If the license is invalid, the function will stop here.
// ============================================================
function my_premium_feature() {
global $license;

if ( ! $license->is_valid() ) {
return; // ← stops here if no valid license
}

// Your premium code goes below this line ↓
echo 'Premium feature is running!';
}

// ============================================================
// STEP 5 — Show the License Key field on your settings page
// Call this inside the function that renders your settings page.
// It will show an input box + Activate / Deactivate buttons.
// ============================================================
function my_plugin_settings_page() {
global $license;

echo '

My Plugin Settings

';

// This one line draws the full license box — input + buttons
$license->render_settings_field();

// ... rest of your settings fields
}

The SDK handles:
* License activation, validation (12 h cache), deactivation
* WordPress Heartbeat integration for instant deactivation — no click needed
* Built-in settings page with Activate / Check Status / Deactivate buttons
* Friendly Urdu/English error messages for common failure cases
⚡ Performance

License validation results cached as WordPress transients (12 hours by default)
Heartbeat status check (/status) does not write to the database — read-only
Index on license_key, domain_hash, user_id, status, and created_at columns
WooCommerce integration only loads when WooCommerce is active

Privacy Policy
JB License Manager for WooCommerce stores the following data in your WordPress database:

License keys (hashed) and associated customer email addresses
Domain names (stored as SHA-256 hashes — not in plain text)
IP addresses of activation and validation requests
Timestamps of all license events

This data is stored solely on your own WordPress server. No data is transmitted to any third-party service by this plugin.
External connections: Client sites that use the bundled SDK connect to your WordPress store URL to activate, validate, and check license status. This is a direct connection between two sites you control.
If you collect or process personal data (such as customer email addresses), ensure your site has an appropriate privacy policy as required by GDPR, CCPA, or your local regulations.
Developer SDK
The client-side SDK (for your own plugins/themes to validate licenses against this server) is available as a separate download from the plugin’s GitHub page. It is NOT included in the WordPress.org version of this plugin.
The WordPress.org version of this plugin is the license server — it stores and manages licenses. It does not lock any features behind a license check.

延伸相關外掛

文章
Filter
Apply Filters
Mastodon