Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: GDPR Uyumlu Çoklu Kiracı CRM Oluşturma: Laravel ile
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » GDPR Uyumlu Çoklu Kiracı CRM Oluşturma: Laravel ile

Yazılım

GDPR Uyumlu Çoklu Kiracı CRM Oluşturma: Laravel ile

teknomers
Son güncelleme: 4 Nisan 2026 02:34
teknomers
Paylaş
Paylaş

AB’de kişisel verileri (isimler, e-postalar, telefon numaraları, adresler) yönetmek için bir CRM inşa etmek, GDPR’yi bir kenara atmanın mümkün olmadığını gösteriyor. Biz, Laravel 12 ile geliştirdiğimiz çok kiracılı CRM’miz WB-CRM’de bunu nasıl uyguladık.


1. Database-per-Tenant Mimarisi

Her bir kiracıya kendi MySQL veritabanı (tenant_acme, tenant_demo, vb.) tahsis eden stancl/tenancy v3 kullanıyoruz.

// Merkez modellerinin bağlantıları açıkça ayarlandı
protected $connection = 'central';

// Kiracı modeller merkezi bir geçişe bağlı — $connection özelliği yok
// stancl/tenancy varsayılan bağlantıyı otomatik olarak değiştirir

Neden paylaşımlı veritabanı ve satır seviyesinde güvenlik değil?

Paylaşımlı bir veritabanında, eksik bir WHERE tenant_id = ? koşulu, verilerin şirketler arasında sızmasına sebep olur. DB-per-tenant yapısında bu mimari olarak imkansızdır.


2. PII için Alan Seviyesi Şifreleme

Laravel’in encrypted tipi, bireysel veritabanı alanlarını AES-256 ile şifreler:

protected function casts(): array
{
    return [
        'name'       => 'encrypted',
        'email'      => 'encrypted',
        'phone'      => 'encrypted',
        'address'    => 'encrypted',
        'ip_address' => 'encrypted',
    ];
}

Bu durumun dezavantajı: Şifreli alanları WHERE email = ? ile sorgulamak mümkün değildir. Bunu, eşlik eden hash sütunları ile çözüyoruz:

// email_hash, arama yapmak için HMAC-SHA256 hashini saklar
$contact = Contact::where('email_hash', hash_hmac(, $email, config()))->first();


3. GDPR Veri Sahibi Hakları

15-21. maddeler sadece onay kutuları değildir — gerçek uç noktalar gerektirir:

HakMaddeUygulama
ErişimMadde 15JSON/CSV dışa aktarma uç noktası ile yeniden kimlik doğrulama
DüzeltmeMadde 16Profil düzenleme işlevi
SilmeMadde 17Hesap silme + veri tabanı temizliği
KısıtlamaMadde 18Hesap dondurma (silmeden devre dışı bırak)
TaşınabilirlikMadde 20Makine tarafından okunur dışa aktarma (JSON)
İtirazMadde 21Pazarlama opt-out

Her GDPR işlemi, kim, ne zaman, hangi kiracı, eski değerler, yeni değerler ile birlikte bir denetim kaydı oluşturur.


4. Denetim Kaydı

Her durum değiştiren işlem bir denetim kaydı oluşturur. Bu, GDPR Madde 30 (işlem kayıtlarının) için zorunludur:

TenantAuditLog::create([
    'uuid'           => Str::uuid(),
    'auditable_type' => get_class($model),
    'auditable_id'   => (string) $model->uuid,
    'event'          => 'gdpr_data_export',
    'old_values'     => null,
    'new_values'     => [=> ,
    => $exportedFields],
    'user_type'      => TenantUser::class,
    'user_id'        => $tenantUser->id,
    'ip_address'     => request()->ip(),
    'user_agent'     => request()->userAgent(),
]);


5. Keşke Daha Önce Bilseydim

  • Herd/CLI bcrypt uyumsuzluğu: CLI PHP ve Herd PHP macOS’ta uyumsuz bcrypt hashleri üretir. Şifreleri her zaman web bağlamında ayarlayın.
  • Oturum bağlantısı central olmalıdır: Database-per-tenant yapısında, kiracı DB’sinde saklanan oturumlar kiracı değiştirildiğinde kaybolur.
  • ENUM sütunları migration’larda tehlikelidir: Bir değer eklemek, MySQL’de sütunun yeniden oluşturulmasını gerektirir. Bunun yerine, doğrulama ile string sütunları kullanın.
  • getCustomColumns() stancl/tenancy’de: Kiracı tablosuna bir sütun eklediğinizde ancak getCustomColumns() içinde kaydetmeyi unuttuysanız, bu sütun sessizce JSON data sütununa düşer. Saatlerce hata ayıklamanıza neden olabilir.

Bu prensiplerle WB-CRM‘i geliştirdik. Ücretsiz bir ONE plan mevcut (500 kişi, 1 kullanıcı). Almanya’da inşa edildi ve barındırılıyor.

Kaynak: Orijinal Makale

Contents
  • 1. Database-per-Tenant Mimarisi
  • 2. PII için Alan Seviyesi Şifreleme
  • 3. GDPR Veri Sahibi Hakları
  • 4. Denetim Kaydı
  • 5. Keşke Daha Önce Bilseydim
Laravel Kuyruk Testi: Çoğu Geliştiricinin Hata Yaptığı Noktalar
30.000 Eşzamanlı Kullanıcı için Laravel ile Gerçek Zamanlı Kıymetli Metal Fiyat Akışı Nasıl Geliştirdim
Laravel ile Çok Kiracılı Bir Bordro Motoru Geliştirirken Öğrendiklerimiz
Bir Kullanım Durumu, Üç Giriş Noktası: HTTP, CLI ve Kuyruk İşçileri Aynı Kodu Paylaşıyor – DEV Community
Laravel 12 ve React 19 ile Gizlilik Odaklı Bir Finans Uygulaması Geliştirme
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Patates Kızartmasında Devrim: Daha Az Yağla Daha Lezzetli!
Sonraki Makale Hafıza, 2023’e göre 4 kat artışla AI veri merkezi harcamalarının %30’unu alacak

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Amazon Prime Günü’nde Kaçırılmayacak Fırsatlar: En İyi Ürünler Burada!
Genel
Base blockchain ağı iki saatlik kesintinin ardından yeniden çalışmaya başladı
Finans
Notion Mail Büyük Değişim Yaşadı
Genel
Microsoft, Xbox Series fiyatlarını üçüncü kez artırdı: 100-150 $ zam
Donanım
Hayalinizdeki Tema Parkını Kurun ve Kozmik Kabuslarla Mücadele Edin
Oyun
iPad Fırsatlarını Kaçırmayın, Apple Zam Yapmadan Alın!
Liste
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?