ionCube License Management: Domain, IP, and Time Locking
Complete guide to ionCube license management features. Domain locking, IP restrictions, time-limited licenses, and MAC address binding explained.
ionCube includes built-in license management features that let you control where and when your encoded files can run. This guide covers all options.
License Management Overview
ionCube's license system lets you:
- Lock files to specific domains
- Restrict to specific IP addresses
- Set expiration dates
- Bind to server hardware (MAC address)
- Create custom license conditions
Domain Locking
How It Works
Domain locking restricts execution to specific domain names:
- File only runs when accessed via the registered domain
- Prevents unauthorized copying to other sites
- Supports multiple domains per license
Use Cases
- Per-domain licensing for commercial software
- Preventing piracy of premium plugins
- Enforcing development vs production restrictions
Setting Up Domain Locking
In the ionCube Encoder:
- Go to License Settings
- Enter the allowed domain(s)
- Generate the encoded file with domain restrictions
IP Address Locking
How It Works
Files are restricted to specific server IP addresses:
- Only the server with the matching IP can run the files
- Moving to a new server requires a new license
Use Cases
- VPS/dedicated server licensing
- Enterprise deployments with fixed IPs
- Development environment restrictions
Time-Limited Licenses
How It Works
Encoded files stop working after a specified date:
- Trial versions
- Subscription-based licensing
- Demo installations
Use Cases
- 30-day trials
- Annual license renewals
- Time-limited beta access
MAC Address Locking
How It Works
Files are bound to the server's network interface MAC address:
- Most restrictive licensing option
- Prevents moving files between servers
- Hardware-level enforcement
Use Cases
- High-value enterprise software
- Single-server licenses
- Maximum piracy prevention
Custom License Conditions
ionCube allows custom license logic:
- Database-driven license checks
- API-based validation
- Custom field matching
- License server integration
License Server Integration
You can run your own license server that validates installations:
- Encoded file calls your license API
- Your server validates the request
- Returns allow/deny
- File executes or terminates
Managing Licenses for Your Customers
Generating License Files
The ionCube Encoder generates .lic files that contain license properties:
; License file generated by ionCube Encoder
[config]
domain = "customer-site.com"
ip = "192.168.1.100"
expire = "2026-12-31"
Distributing Licenses
- Send
.licfile to the customer - Customer places it alongside encoded files
- ionCube Loader validates the license on each request
What Happens When a License Expires
When a time-limited license expires:
- The ionCube Loader detects the expiration
- The script terminates with a fatal error
- The site goes offline
- The customer must renew their license
Bypassing License Checks
Some users attempt to bypass license checks by:
- Modifying the license file
- Removing the license check code
- Using patched Loaders
Important: If you encode your own software and need to recover access (lost license server, expired license on your own product), you can decode your files to remove all license restrictions.
License Management Best Practices
- Use domain locking for most commercial software
- Set reasonable expiration dates for subscriptions
- Keep a license server for high-value products
- Document your licensing model for customers
- Provide clear renewal processes
Conclusion
ionCube's license management provides comprehensive tools for controlling your software distribution. From domain locking to hardware binding, you can protect your intellectual property effectively.
If you've lost access to your own licensed software, decode your files to recover full source code access.
Update: SourceGuardian support is now included
PHPDecompile now supports both ionCube and SourceGuardian protected PHP files. If your project contains a mix of protected vendor files, abandoned modules, or legacy PHP packages, you can use the same upload, trial preview, progress tracking, and download workflow for both supported encoders.
Related Articles
How to Recover Source From an ionCube WordPress Plugin You Own
Learn how owners can recover readable PHP source from an ionCube-protected WordPress plugin they own, plus what to prepare before you start a recovery.
Recovering ionCube WooCommerce Extension Source Code
A practical guide for store owners recovering readable source from an ionCube-protected WooCommerce extension they own, so they can maintain and audit it safely.
ionCube WHMCS Module Source Recovery for Owners
How hosting and billing operators can recover readable source from an ionCube-protected WHMCS module they own, to keep automation and provisioning maintainable.
Decoder Guides
Ready to decode ionCube and SourceGuardian files?
Try PHPDecompile free. No credit card required.