> ## Content Index
> Fetch the complete content index at: https://ssilistre.dev/llms.txt
> Use this file to discover other available public pages before exploring further.

# Kripto Lisans Paneli — lisans anahtarını çöpe at
- URL: https://ssilistre.dev/products/kripto-lisans-paneli/
- Published: 2026-08-12T14:03:52.000Z
- Updated: 2026-08-12T14:03:52.000Z
- Description: Lisans anahtarı kopyalanır, cüzdan kopyalanmaz. Yazılım lisansını ERC-721 olarak bas, müşteri devretsin, zincirden doğrula. PHP + MetaMask, MIT, ücretsiz.
- Author: Semih Silistre
- Tags: #product, yazilim, php, ethereum, açık kaynak

**Lisans anahtarı kopyalanır. Cüzdan kopyalanmaz.**

Yazılımını satarken müşteriye verdiğin şey ne? Bir dize. `XXXX-YYYY-ZZZZ`. Bir forumda paylaşıldığı anda değeri sıfır. Onu korumak için bir doğrulama sunucusu kurarsın; o sunucu düşerse müşterinin ürünü de düşer. Müşteri lisansını satmak isterse yapamaz — çünkü lisans onun değil, senin veritabanındaki bir satır.

Bu paneli, o satırı kaldırıp yerine **sahiplik** koymak için yazdım.

---

## Fikir tek cümle

Lisans bir ERC-721 token. Alıcının kendi cüzdanına basılır, cüzdanında durur, istediğine devreder, ve herhangi bir yazılım zincire tek bir HTTP isteğiyle sorar: *bu cüzdanın geçerli lisansı var mı?*

Senin sunucun cevabın kaynağı değil. Zincir öyle. Panel kapansa bile lisans yaşamaya devam eder.

![Kripto Lisans Paneli ana sayfası](https://ssilistre.dev/content/images/2026/08/03-home.png)

Ana sayfa — sahiplik anlatımı ve “nasıl çalışır” akışı

## Kritik detay: PHP hiçbir private key tutmaz

Çoğu “kripto entegrasyonu” burada patlar — sunucuya bir cüzdan anahtarı koyarlar, sunucu düşünce hazine de düşer.

Burada zincire **yazan** her şey tarayıcıda, MetaMask ile olur: mint, transfer, voucher imzası. Sunucu sadece iki şey yapar — imza *doğrular* (SIWE) ve zinciri JSON-RPC ile *okur*. Sızacak anahtar yok, çünkü anahtar hiç orada değil.

## Nasıl çalışıyor

1. **İmzala.** Admin panelde ürüne bir lisans voucher'ı üretirsin — EIP-712 ile imzalanır. Bu adımda zincire hiçbir şey yazılmaz, gas ödemezsin.
2. **Müşteri bastırır.** Alıcı `redeem()` çağırır, kendi gas'ıyla token kendi cüzdanına düşer. *Lazy-mint*: maliyet sende değil.
3. **Yazılımın sorar.** Ürünün `/api/access`'e bir imza gönderir, “geçerli” ya da “değil” cevabını alır.

Şifre yok. Lisans e-postası yok. Kayıp anahtar destek talebi yok.

![Public ürün kataloğu](https://ssilistre.dev/content/images/2026/08/02-store.png)

Mağaza — public ürün kataloğu, tek tıkla satın alma

## 5 dakikada ayağa kaldır

```bash
git clone https://github.com/unkownpr/cripto-lisans.git
cd cripto-lisans
php -S localhost:8080 -t public
```

Hepsi bu. `vendor/` repoda gömülü geliyor, **composer'a gerek yok** — paylaşımlı hosting'de de aynı şekilde çalışır. Tarayıcıda `localhost:8080`'i aç, kurulum sihirbazı karşılar: `data/setup_token.txt`'deki kodu gir, MetaMask'ı bağla, bitir. `.env` dosyasını elle yazmıyorsun.

Kontratın yoksa panelden tek tıkla deploy edebilirsin. Test için Sepolia + faucet yeterli, gerçek para harcamana gerek yok.

![Kurulum sihirbazı](https://ssilistre.dev/content/images/2026/08/01-install-wizard.png)

Kurulum sihirbazı — `.env` elle yazmadan, tarayıcıdan

## Doğrulama tek satır

```bash
curl "https://panel.example.com/api/verify?token_id=123"
# → {"valid":true,"token_id":"123","owner":"0x…","expiry":0,"perpetual":true}
```

Ürün yazılımından cüzdan bazlı erişim kontrolü:

```http
GET  /api/access?product_id=1          → { nonce, message }
POST /api/access { product_id, message, signature }
                                       → { valid, address, token_id }
```

Kendi entegrasyonunu yazmak zorunda değilsin — hazır istemciler panelden inilir: `license.php`, `license.py`, `license.go`, `license.cs`.

## Kutudan çıkanlar

- **Cüzdan girişi (SIWE)** — Sign-In With Ethereum, parola tablosu yok.
- **Devredilebilir lisans** — `transferFrom` ile başka cüzdana geçer. Müşteri lisansını gerçekten *sahiplenir*.
- **Süreli veya süresiz** — expiry zincirde, revoke da öyle.
- **Mağaza + admin paneli** — ürün yönetimi, ücretsiz/kripto satış, SMTP e-posta.
- **Tek tık kontrat deploy** — Solidity bilmene gerek yok.

![Ağ ve kontrat yönetimi](https://ssilistre.dev/content/images/2026/08/06-admin-network.png)

Ağ & Kontrat — RPC ayarı ve panelden kontrat deploy

## Güvenlik tarafı ihmal edilmedi

“Hobi projesi” etiketini hak etmesin diye sunucu tarafı sertleştirildi: CSRF koruması tüm state değiştiren uçlarda, `HttpOnly` \+ `SameSite=Lax` \+ `Secure` session cookie'leri, güvenlik header'ları, public uçlarda rate-limit, parametreli SQL, kapalı SVG upload (stored-XSS), `0600` izinli `.env`, default `DEBUG=0`.

Bir de klasik tuzak kapatıldı: kurulum, sunucuda üretilen tek kullanımlık bir `setup_token` ister. Yani “siteyi ilk ziyaret eden admin olur” yarışı yok.

## Dürüst olalım: neler yok

Bu deneysel bir iş, ve sana ne olmadığını söylemezsem üç gün sonra kızarsın:

- SIWE tam EIP-4361 parse etmiyor — nonce, adres ve imza doğruluyor, o kadar.
- Event indexer yok. “Lisanslarım” ekranı voucher tablosunu tarayıp `ownerOf` ile eşleştiriyor; binlerce lisansta `Transfer` event indexer'ı gerekir.
- Fiat ödeme (Stripe) akışı stub. Kripto ve ücretsiz satış çalışıyor.
- Cihaz bağlama / anti-korsan yok. Bu sistem *sahipliği* kanıtlar, kopyalamayı engellemez.

Gereksinimler tarafında tek gerçek engel şu: PHP 8.3+ ve **`gmp` eklentisi**. `gmp` olmadan imza doğrulama çalışmaz, yani giriş çalışmaz. Paylaşımlı hosting'de sık kapalı gelir — kurulumdan önce açtır.

## Ücretsiz, MIT, senin sunucunda

Abonelik yok, “pro sürüm” yok, telemetri yok. Klonla, çatalla, sat, adımı sil — MIT lisansı ne diyorsa o.

Karşılığında tek isteğim var: **dene ve bana ne kırıldığını söyle.** Bu fikir ancak başka birinin gerçek ürününde denenirse olgunlaşır. Issue aç, PR gönder, ya da sadece “şu adımda takıldım” yaz.

[github.com/unkownpr/cripto-lisans →](https://github.com/unkownpr/cripto-lisans?ref=ssilistre.dev)