Dijital ürün lisanslama · erişim kontrolü · anahtar yönetimi

Dijital ürününü satma,
lisansla ve kontrolü elinde tut.

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.

Mimariyi Gör Kod Örnekleri
Cihaz/Domain bağlama Anahtar üretimi & doğrulama Lisans telemetrisi
POST /license/verify
# Lisans doğrulama isteği
{ "key": "LSN-7F3A-9Q2K-...", "domain": "musteri-site.com", "device": "a3c9...d12" }

# Yanıt
{ "status": "active", "plan": "pro", "expiresAt": "2026-12-31" }

→ İpucu:
Offline token + grace window ile kesintiye dayanıklı kullanım.

Ne sağlar?

Lisanslı, ölçülebilir ve yönetilebilir dijital dağıtım. Ürününü “dosya satışı” gibi değil, “hizmetleşmiş kullanım izni” gibi yönetmeni sağlar.

Modüler yapı · API-first

Lisans anahtarı üretimi

Plan/süre/kota/dil/bölge gibi parametrelerle anahtar üret. İptal et, yenile, plan yükselt.

Parametrik lisans modeli

Doğrulama ve erişim kontrolü

Domain, cihaz, kullanıcı, IP aralığı veya API token ile doğrulama. Offline kullanım için imzalı token.

Online + offline

Gözlem & analiz

Aktif lisanslar, doğrulama sayıları, hatalar, cihaz değişimleri. Destek ekibi için olay geçmişi.

Audit trail

Entegrasyon katmanı

WordPress / Laravel / Node / Python / .NET ile kolay entegrasyon. Webhook ile ödeme/CRM bağla.

Hukuki metin şablonları

Lisans sözleşmesi, kullanım koşulları, KVKK metinleri için başlangıç şablonları (özelleştirilebilir).

Güvenli tasarım prensipleri

En az yetki, anahtar rotasyonu, rate limit, imzalı istekler. İsteğe göre “zero-trust” doğrulama.

Mimari nasıl çalışır?

Amaç: lisans mantığını ürününden ayırmak. Ürün sadece “doğrula” der, lisans servisi karar verir. Böylece her projede aynı lisans motorunu kullanırsın.

Core + Connectors
ÜrünClient
Tema / eklenti / script / uygulama → lisans doğrulama çağrısı yapar.
SDKAdapter
WP / Laravel / Node / Python için küçük bağlayıcılar.
Lisans APICore
Verify / Activate / Deactivate / Refresh. Rate limit + imzalı istek.
Lisans DBStorage
Lisans, plan, cihaz, domain, kullanım logları ve audit kayıtları.
WebhookEvents
Ödeme geldi → lisans aç. İptal → lisans kapat. Plan değişikliği → güncelle.
PanelUI
Müşteri, lisans, cihaz/domain, plan, kullanım analizi yönetimi.

Temel prensip: “Mülkiyet sende, izin yönetilebilir”

Telif hakkı otomatik olarak doğar; lisans ise koşullu bir kullanım iznidir. Lisanslı model; satış sonrası kontrol (ip-tal/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

Ürün bağımsız lisans motoru

Nerelerde kullanılır?

Aynı lisans çekirdeği; farklı teknoloji yığınlarına küçük adaptörlerle bağlanır. Aşağıdaki örnekler “mantığı gösterir”; senin ürününe göre isimleri netleştiririz.

WordPress · Laravel · Node · Python

WordPress (Eklenti / Tema)

Admin panelde lisans anahtarı girilir. Site domain’i ile aktivasyon yapılır. Kritik özellikler “lisans aktifse” çalışır (feature flag).

Feature gating

Laravel / PHP Ürünler

Middleware ile “license verify” çağrısı. Cache + grace window ile performans ve süreklilik.

Cache + grace

Node / Electron

Cihaz parmak izi + lisans anahtarı ile aktivasyon. Offline token ile belirli süre internet olmadan çalışma.

Offline token

Python (CLI / SaaS)

CLI araçlarında lisans kontrolü; SaaS’ta kullanıcı planı ile lisans ilişkisi. Webhook ile otomasyon.

Webhook otomasyonu

Örnek kod öbekleri

Aşağıdaki snippet’ler “referans mimari”dir. Gerçek projede endpoint/secret isimleri ve güvenlik katmanları ürününe göre şekillenir.

API-first entegrasyon
WP PHP · Lisans doğrulama (örnek)
<?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.

Node JS · Offline token doğrulama (örnek)
// 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.

API JSON · Plan/limit modelleme (örnek)
{
  "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.

Webhook Ödeme → lisans aç/kapat (örnek)
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.

Sık sorulan sorular

SSS’yi “satış sayfası” değil; ürünün nasıl çalıştığını netleştiren kısa cevaplar şeklinde kurguladım.

Net · kısa · teknik
Telif “mülkiyet”tir ve otomatik doğar. Para kazanma modeli genelde lisansla olur: kullanım izni verirsin, koşulları sen belirlersin (süre/plan/kota).
“Tek başına anahtar”a güvenmek yerine; domain/cihaz/user bağlama, rate limit, imzalı istekler ve audit log ile risk azaltılır. Ayrıca iptal/yenileme mekanizması gerekir.
Evet, “offline token + grace window” yaklaşımıyla belirli bir süre çalışır. Süre bitince yeniden doğrulama ister.
Panelde domain reset/ekleme yetkisi tanımlanır. İstersen “domain değişim kotası” koyarsın.
Tasarım olarak desteklenebilir: network-level lisans veya site-bazlı lisans modeli seçilir. Multisite’de “home_url/site_url” ve domain mapping gibi durumlara göre adaptör gerekir.

Soru sor / kullanım senaryonu anlat

Ürününü (tema/eklenti/script/SaaS) ve lisanslamak istediğin modeli yaz — sana en uygun kurguyu önereyim.

Form endpoint: api.php → action: question