İçeriğe geç
Başlangıç · Sonraki hedefe 100 XP
Son hareketler
Henüz bir öğrenme hareketi yok. İlk derse başlayın.

Web Uygulama Güvenliği

Race condition: Eşzamanlı işlemlerde değişmez koşul

İki isteğin tek tek doğru görünen adımları birlikte çalışırken iş kuralını bozabilir. Kontrol ile güncelleme arasında durum değişmesi, yarış koşullarının temel örneklerindendir.

Bu derste neler var?

SİBERSALDİRİ.COM · KONU ODAKLI DERS

Bu derste kazanacaklarınız

  • Paylaşılan durum ile Atomik işlem arasındaki ilişkiyi açıklamak.
  • “Tek isteği engellemek tüm yarışları çözer mi?” sorusuna gerekçeli yanıt vermek.
  • Örneği değiştirip beklenen ve gözlenen davranışı karşılaştırmak.

Çalışma mantığı ve güven sınırı

Stok veya tek kullanımlık kupon gibi alanlarda kontrolü ve değişikliği atomik tasarlayın. Yalnızca uygulama belleğindeki kilit birden fazla sunucuda yeterli olmayabilir. Veritabanı transaction, satır kilidi veya koşullu güncelleme ihtiyaca göre seçilir. Aynı işlemin tekrarını engelleme ile farklı işlemler arasındaki yarışı ayırın.

Race condition: Eşzamanlı işlemlerde değişmez koşul akışı: Paylaşılan durum → Atomik işlem → Değişmez koşul
Paylaşılan durum → Atomik işlem → Değişmez koşul. Şema ilişkiyi gösterir; bütün uygulamanın yerine geçmez.

Açıklamalı örnek

Aşağıdaki parça kavramı görünür kılar. Komut veya kod içeren örnekleri üretim sisteminde değil, size ait ayrı deneme ortamında değerlendirin. Mimari şema ve politika örnekleri çalıştırılabilir program değildir.

UPDATE stock SET quantity = quantity - 1
WHERE product_id = :id AND quantity >= 1;
-- Etkilenen satır sayısı 1 değilse satış kabul edilmez.

Beklenen sonuç ve yorumu

Koşul ve değişiklik tek güncellemede değerlendirilir; tam satış akışı transaction tasarımı gerektirir.

Karşılaştırmalı durumlar

DurumBeklenen yaklaşımNeden?
Son stokta iki istekAtomik koşullu işlemOrtak durum korunur
Tek sunucuda kilitDağıtımı değerlendirDiğer sunucu kilidi bilmez
İşlem tekrarlandıIdempotency ihtiyacını inceleAynı işlem ayrı risk yaratır

Uygulama görevi

Son bir ürüne iki eşzamanlı istek gelmesinin zaman çizelgesini çizin.

  1. İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
  2. Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
  3. Sonucu yukarıdaki karşılaştırma tablosuyla değerlendirin. Uymayan durumda hangi varsayımın yanlış olabileceğini açıklayın.

Sık yapılan hata ve düzeltme yönü

Önce SELECT sonra korumasız UPDATE yaparak aradaki durumu sabit varsaymayın.

Kendinizi sınayın

Tek isteği engellemek tüm yarışları çözer mi?

Açıklamalı yanıt: Hayır. Farklı istemciler ve sunucular aynı paylaşılan durumu eşzamanlı değiştirebilir.

İlgili derslerle ilerleyin

Teknik başvuru

Bu dersin anlatımı ve örnekleri akademi için yeniden hazırlanmıştır. Aşağıdaki bağlantı, kullanılan teknoloji veya güvenlik yaklaşımının ayrıntılarını doğrulamak için teknik başvurudur.

Bir adım daha ilerlediniz.

Dersi bitirdiyseniz tamamlandı olarak işaretleyin. İlerlemeniz bu cihazda saklanır.

Akademi menüsü

Akademide ara

En az 2 karakter yazın.