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: Veri Üzerine Yazmayı Durdurun: Laravel’de Denetim İzleri
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 » Veri Üzerine Yazmayı Durdurun: Laravel’de Denetim İzleri

Yazılım

Veri Üzerine Yazmayı Durdurun: Laravel’de Denetim İzleri

teknomers
Son güncelleme: 13 Temmuz 2026 10:22
teknomers
Paylaş
Paylaş

Durum Değişimi Tuzakları

Smart Tech Devs’te kurumsal, fintech veya sağlık SaaS platformları geliştirirken, tarihi bağlam mevcut durum kadar önemlidir. Standart CRUD (Create, Read, Update, Delete) mimarisi durum değişimlerine büyük ölçüde bağımlıdır. Örneğin, $user->update(['status' => 'suspended']) kodunu çalıştırıyorsunuz.

İşte mimarideki hata: O güncelleme yapıldığında, önceki durum, değişikliğin tam zaman damgası ve kim tarafından askıya alındığı gibi bilgiler sonsuza dek kaybolur. Bir denetçi, “Bu kurumsal hesap neden geçen Salı askıya alındı ve kim tarafından?” diye sorduğunda, veritabanınız cevap veremez. Kurumsal düzeyde sistemler inşa etmek için verileri geçersiz kılmayı bırakmalı ve Değiştirilemez Denetim İzleri oluşturmalısınız.

Çözüm: Sadece Ekleme Mimarisi

Mevcut durumu değiştirmek yerine, bir Denetim İzinin (Event Sourcing’in hafif bir formu) her bir değişimi değiştirilemez, sadece ekleme yapan bir günlük girişi olarak kaydetmesini sağlayabilirsiniz.

Bir kayıt değiştiğinde, model_type, model_id, causer_id (bunu kim yaptı) ve old_values ile new_values içeren bir JSON yükü saklarsınız. Bu, sisteminizde gerçekleştirilen her eylemin matematiksel olarak mükemmel, zaman damgalı bir defterini sağlar.

Denetim Trait’inin Mimarisi

spatie/laravel-activitylog gibi güçlü paketler kullanabilirsiniz, ancak temel mimariyi anlamak kritik önemdedir. Laravel’in Eloquent Model Olayları kullanarak güçlü bir kendi kendine uygulayan Trait oluşturabiliriz.


namespace App\Models\Traits;

use App\Models\AuditLog;
use Illuminate\Support\Facades\Auth;

trait HasImmutableAuditTrail
{
    protected static function bootHasImmutableAuditTrail()
    {
        // 1. ✅ KURUMSAL PATTERN: 'updated' olay yaşam döngüsüne bağlanın
        static::updated(function ($model) {
            
            // Gerçekten değişen özellikleri çıkarın
            $changes = $model->getChanges();
            
            // Güncellemeyi zaman damgasına göre kaydetmeye gerek yok
            unset($changes['updated_at']);
            
            if (empty($changes)) {
                return;
            }

            // Değişen anahtarlar için orijinal değerleri alın
            $original = array_intersect_key($model->getOriginal(), $changes);

            // 2. Değiştirilemez günlük kaydını veritabanına yazın
            AuditLog::create([
                'auditable_type' => get_class($model),
                'auditable_id'   => $model->id,
                'causer_id'      => Auth::id() ?? null, // Bunu kim tetikledi?
                'event'          => 'updated',
                'old_values'     => json_encode($original),
                'new_values'     => json_encode($changes),
                'ip_address'     => request()->ip(),
            ]);
        });
        
        // static::created() ve static::deleted() için tekrar edersiniz
    }
}

Uyumu Sağlama

Artık geliştiricileriniz, bu trait’i her önemli modele (ör. Faturalar, Abonelikler, Kullanıcılar) ekleyebilir. Framework, durumsal değişiklikleri en alt seviyede yakalar ve kaydedilmeyen hiçbir durum değişikliğinin olmasını sağlamaz.


namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use App\Models\Traits\HasImmutableAuditTrail;

class Subscription extends Model
{
    // Bu tek satır, bu tablonun SOC2/HIPAA uyumluluğunu garanti eder.
    use HasImmutableAuditTrail;
}

Mühendislik ROI’si

Model katmanında sadece ekleme yapan bir denetim izi zorlayarak, “hayalet değişim” sorununu tamamen ortadan kaldırırsınız. Sisteminiz, kurumsal güvenlik denetimlerine doğal olarak uyumlu hale gelir, müşteri destek ekibiniz tam kullanıcı eylemlerini geriye alma ve tanı koyma yeteneği kazanır, ve controller mantığınızı karmaşıklaştırmadan kusursuz bir tarihsel defter oluşturursunuz.

Kaynak: Orijinal Makale

Contents
  • Durum Değişimi Tuzakları
  • Çözüm: Sadece Ekleme Mimarisi
    • Denetim Trait’inin Mimarisi
    • Uyumu Sağlama
  • Mühendislik ROI’si
2026’da Laravel Dağıtım Durumu: Neler Değişti ve Hala Ne Zorlayıcı?
Laravel Güvenliğini, Performansını ve SEO’yu Geliştiren En İyi Paketler
Çok Kiracılı Laravel SaaS için Inertia v2 ile Üretim Vue Arayüzü Oluşturma
Profil Verilerinde Teknoloji Sınıflandırmasının Otomasyonu
JetBrains Academy Covid-19 salgını süresince ücretsiz kodlama eğitimi verecek.
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Acil: iCagenda ve Balbooa Forms Joomla Açıkları Kritik Tehdit!
Sonraki Makale Bitcoin Asya Seansında 63,000 Doların Altına Geriledi

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Resident Evil Oyunları ile Korku Dolu Bir Deneyim Sizi Bekliyor
Oyun
Waze Yeni AI Destekli Özelliklerle Güçleniyor
Liste
Acil: Yanlış Yapılandırılmış Sunucu, Microsoft 365’i Hedefliyor!
Siber Güvenlik
Bitcoin Asya Seansında 63,000 Doların Altına Geriledi
Finans
Acil: iCagenda ve Balbooa Forms Joomla Açıkları Kritik Tehdit!
Siber Güvenlik
Coinglass API v4 için PHP ve Laravel’de Ultimate SDK: Coinglass-php’yi Keşfetmek
Yazılım
//

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?