Yazılım, eklenti, tema, script, tasarım paketi veya içerik kütüphanesi… Mülkiyet sende kalsın. Sen sadece “kullanım izni” ver: süre, cihaz, domain, kullanıcı, plan, ülke — hepsi tanımlanabilir.
"LSN-7F3A-9Q2K-...",
"domain": "musteri-site.com",
"device": "a3c9...d12"
}
Lisanslı, ölçülebilir ve yönetilebilir dijital dağıtım. Ürününüzü “dosya satışı” gibi değil, “hizmetleşmiş kullanım izni” gibi yönetmenizi sağlar.
Plan/süre/kota/dil/bölge gibi parametrelerle anahtar üret. İptal et, yenile, plan yükselt.
Domain, cihaz, kullanıcı, IP aralığı veya API token ile doğrulama. Offline kullanım için imzalı token.
Aktif lisanslar, doğrulama sayıları, hatalar, cihaz değişimleri. Destek ekibi için olay geçmişi.
WordPress / Laravel / Node / Python / .NET ile kolay entegrasyon. Webhook ile ödeme/CRM bağla.
Lisans sözleşmesi, kullanım koşulları, KVKK metinleri için başlangıç şablonları (özelleştirilebilir).
En az yetki, anahtar rotasyonu, rate limit, imzalı istekler. İsteğe göre “zero-trust” doğrulama.
Amaç: Lisans mantığını ürünüzden ayırmak. Ürün yalnızca “doğrula” çağrısı yapar; karar merkezi lisans servisidir.
Telif hakkı otomatik olarak doğar; lisans ise koşullu bir kullanım iznidir. Lisanslı model; satış sonrası kontrol (iptal/yenileme/plan değişimi), kullanım sınırı ve destek süreçlerini güçlendirir.
Örnek kullanım koşulları:
• 1 domain / 3 cihaz • 12 ay süre • Türkiye bölgesi • Pro plan modülleri açık • API doğrulama zorunlu
Aynı lisans çekirdeği; farklı teknoloji yığınlarına küçük adaptörlerle bağlanır.
Admin panelde lisans anahtarı girilir. Site domain’i ile aktivasyon yapılır. Kritik özellikler “lisans aktifse” çalışır (feature flag).
Middleware ile “license verify” çağrısı. Cache + grace window ile performans ve süreklilik.
Cihaz parmak izi + lisans anahtarı ile aktivasyon. Offline token ile belirli süre internet olmadan çalışma.
CLI araçlarında lisans kontrolü; SaaS’ta kullanıcı planı ile lisans ilişkisi. Webhook ile otomasyon.
Aşağıdaki snippet’ler “referans mimari”dir. Gerçek projede endpoint/secret isimleri ve güvenlik katmanları ürününüze göre şekillenir.
<?php
function lisansli_verify_license($license_key) {
$payload = [
"key" => $license_key,
"domain" => parse_url(home_url(), PHP_URL_HOST),
"device" => hash("sha256", wp_get_session_token() . "|" . home_url()),
];
$args = [
"headers" => [
"Content-Type" => "application/json",
"Authorization" => "Bearer " . LSN_API_TOKEN,
],
"body" => wp_json_encode($payload),
"timeout" => 8,
];
$res = wp_remote_post("https://api.lisansli.com/license/verify", $args);
if (is_wp_error($res)) return ["ok" => false, "reason" => "network"];
$json = json_decode(wp_remote_retrieve_body($res), true);
return [
"ok" => ($json["status"] ?? "") === "active",
"plan" => $json["plan"] ?? "free",
"expiry" => $json["expiresAt"] ?? null,
];
}
Pratik: verify sonucunu 5-15 dk cache’le, anlık kesinti olursa “grace window” tanımla.
// Offline token = sunucu tarafında imzalı JWT / kısa ömürlü bilet
import jwt from "jsonwebtoken";
export function verifyOfflineToken(token) {
try {
const data = jwt.verify(token, process.env.LSN_PUBLIC_KEY, {
algorithms: ["RS256"],
clockTolerance: 10, // saniye tolerans
});
// Örn: device + domain eşleşmesi
// if (data.device !== currentDeviceHash) throw new Error("device mismatch");
return { ok: true, data };
} catch (e) {
return { ok: false, reason: "invalid_or_expired" };
}
}
Not: Offline token süreli olur. Süre bitince tekrar online doğrulama istenir.
{
"license": "LSN-XXXX-XXXX-XXXX",
"status": "active",
"plan": "pro",
"limits": {
"domains": 1,
"devices": 3,
"seats": 5
},
"features": {
"updates": true,
"premiumModules": true,
"prioritySupport": false
},
"expiresAt": "2026-12-31",
"graceSeconds": 604800
}
İyi desen: “limits + features” kombinasyonu ile karma lisans tiplerini kolay yönetirsin.
POST /webhook/payment
Headers:
X-Signature: sha256=...
Body:
{
"event": "subscription.renewed",
"customerId": "CUST_1024",
"plan": "pro",
"license": "LSN-XXXX-XXXX-XXXX",
"periodEnd": "2026-12-31"
}
Güvenlik: Webhook imzasını doğrula. IP allowlist + replay protection ekle.
Ürünün türünü (tema, eklenti, script, SaaS vb.) ve lisanslamak istediğiniz modeli paylaşın. En uygun mimari kurguyu birlikte netleştirelim.
Ürününü (tema/eklenti/script/SaaS) ve lisanslamak istediğin modeli yaz — sana en uygun kurguyu önereyim.