Yarışmacıları Takip Etmek

Müşterimiz benimle temasa geçiyor, mobil uygulamalarında aldıkları tüm önlemlere rağmen bir şekilde yarış koşulu (race condition) zafiyetinin istismar edildiğinden şüphelendiklerini bildiriyor.

Durumu birlikte inceliyoruz, gerekli simülasyonları yaptığımızda herhangi bir olumsuzluk görmüyoruz. Kod tarafına ilişkin birlikte kafa yapıyoruz, beş TL.lik bir üründen normal bir kullanıcı 20 tane alacaksa doğrudan yüz TL. ödeyerek alır ancak bir kişi art arda 20 defa alışveriş yapıyorsa orada yanlış bir desen vardır. Kod içinde bu davranışı yakalayan ve gerekirse o kullanıcıyı bloklayan bir mekanizmaya ihtiyacın altını çiziyoruz. Böylesi bir durumda TOO_MANY_REQUESTS şeklinde bir hata kodu üreten ve aynı zamanda nextAttemptinSeconds şeklinde kullanıcı tabanlı request isteklerini takip eden bir mekanizma.