Güvenlik

E-pin Satış Scriptinde Hız Sınırını Yanlış Ayarlayanlar Kampanya Gecesi Neden Stok Kaybediyor: Rate Limit Eşiklerinin Kimsenin Konuşmadığı Matematiği

E-pin satış scripti için hız sınırlama rehberi: katmanlı eşikler, token bucket mantığı, kampanya gecesi ayarları, NAT sorunu ve doğru 429 cevabı.

E-pin Satış Scriptinde Hız Sınırını Yanlış Ayarlayanlar Kampanya Gecesi Neden Stok Kaybediyor: Rate Limit Eşiklerinin Kimsenin Konuşmadığı Matematiği

Hız sınırlama, dijital ürün satan işletmelerin en yanlış anladığı ayar. Çoğu kişi bunu bir güvenlik onay kutusu sanır: aç, bir sayı yaz, geç. Sonra kampanya gecesi geldiğinde siparişler düşer, destek kutusu "siteye giremiyorum" mesajlarıyla dolar ve kimse bunun sebebinin üç ay önce yazılan o sayı olduğunu düşünmez.

Gerçek şu ki hız sınırı bir güvenlik ayarı değil, aynı zamanda bir ciro ayarıdır. Çok gevşek bırakırsan otomatik betikler kuponunu tüketir, stoğunu yoklar ve sunucunu meşgul eder. Çok sıkarsan gerçek müşterini kapıda bırakırsın. Doğru ayar tek bir rakam değil, uç nokta bazlı katmanlı bir eşik haritasıdır. Bu yazıda o haritayı nasıl çizeceğini, hangi algoritmanın hangi durumda işe yaradığını ve mobil kullanıcıyı nasıl haksız yere cezalandırmayacağını anlatıyorum.

%73tek eşik kullanan kurulumda kampanya anı hata oranı artışı
5 katkampanya gecesi normal istek yoğunluğu farkı
%19aynı mobil operatör IP'sini paylaşan kullanıcı payı
3 katmansağlıklı bir sınır haritasındaki minimum seviye

Hız Sınırı Bir Güvenlik Ayarı mı, Yoksa Ciro Ayarı mı?

Bir e-pin satış scriptinde her uç noktanın maliyeti farklıdır. Ürün listeleme sayfası önbellekten gelir, neredeyse bedavadır. Kupon doğrulama veritabanına yazar. Ödeme başlatma dış sağlayıcıya çıkar. Teslimat uç noktası stoktan kod düşer ve geri alınması zordur. Bu dört işe aynı sınırı vermek, dört farklı ağırlıktaki kutuyu aynı rafa koymaya benzer.

Doğru düşünme biçimi şudur: her uç nokta için "bir gerçek müşteri bunu makul senaryoda en fazla kaç kez çağırır" sorusunu cevapla, üzerine güvenli bir pay ekle, sonuç senin eşiğin olsun. Ürün sayfasını dakikada kırk kez gezen biri normal olabilir. Kupon kodunu dakikada kırk kez deneyen biri kesinlikle normal değildir.

Bu ayrımı yapmadan yazılan tek genel sınır, ikisini birden yanlış yönetir. Ya kupon denemesine izin verir ya da normal gezinmeyi keser.

Tek Sayı Yerine Neden Katmanlı Eşik Kurmalısın?

Katmanlı eşik, aynı davranışı farklı zaman pencerelerinde birden ölçmek demek. Örneğin kupon doğrulama için saniyede iki, dakikada on beş, saatte altmış gibi üç sınır birlikte tanımlanır. Kısa pencere ani patlamaları keser, uzun pencere ise yavaş ve sabırlı denemeleri yakalar.

Tek pencereli sınırın zayıflığı tam burada: dakikada on beş izni olan bir saldırgan, her dakika on beş deneme yaparak günde yirmi bin deneme yapabilir ve hiçbir sınırı ihlal etmemiş görünür. Uzun pencere eklediğinde bu strateji ölür. İyi tasarlanmış bir dijital ürün satış yazılımı, bu katmanları uç nokta bazında ayarlanabilir bırakır.

Uç noktaKısa pencereUzun pencereAşımda tepki
Ürün listeleme / aramasaniyede 5dakikada 120Yavaşlatma
Giriş / oturum açmadakikada 5saatte 20Kademeli gecikme
Kupon doğrulamadakikada 3saatte 20Reddet + kayıt
Bakiye yükleme başlatmadakikada 3saatte 15Reddet
Sipariş oluşturmadakikada 6saatte 40Reddet + inceleme
Teslimat / kod görüntülemedakikada 10saatte 60Reddet + uyarı
Şifre sıfırlamadakikada 1saatte 5Reddet

Token Bucket ile Sabit Pencere Arasındaki Fark Neyi Değiştirir?

Sabit pencere en basit yöntemdir: her dakika sayacı sıfırlanır. Kolay yazılır ama bir kusuru vardır. Pencerenin son saniyesinde sınırı doldurup, yeni pencerenin ilk saniyesinde tekrar doldurabilirsin. Sonuç: bir saniye içinde iki katı istek geçer. Kupon ya da stok gibi hassas uçlarda bu boşluk yeterlidir.

Kayan pencere bu boşluğu kapatır ama daha fazla hafıza ister. Token bucket ise en dengeli seçenektir: kovaya sabit hızda jeton dolar, her istek bir jeton harcar. Böylece kullanıcı bir süre hiç istek yapmadıysa biriken jetonlarla kısa bir patlama yapabilir; sürekli yüksek hızda ise doğal olarak sınırlanır. Gerçek kullanıcı davranışı tam olarak böyledir: sessizlik, ardından kısa yoğunluk.

Pratik öneri: vitrin ve arama uçlarında token bucket, güvenlik uçlarında kayan pencere kullan. Sabit pencereyi yalnızca önemsiz uçlarda bırak.

Hız sınırını tetikleyen isteklerin kaynağı

  • Otomatik betik ve kazıyıcı 45%
  • Agresif sayfa yenileme 25%
  • Paylaşımlı mobil / kurumsal IP 20%
  • Gerçek kötüye kullanım denemesi 10%

Kampanya Gecesi Sınırın Müşterini Kapıda Bırakır mı?

Sınırlarını normal günün trafiğine göre ayarlarsan, indirim duyurusunun ilk beş dakikasında kendi müşterine kapıyı kapatırsın. Çünkü o anda gerçek insan davranışı da botlaşır: sayfayı saniye saniye yeniler, stoğu kontrol eder, sepete girip çıkar.

Burada iki çözüm var. Birincisi kampanya profili: sınırları elle yükseltmek yerine önceden tanımlı gevşek bir profil hazırla ve kampanya saatinde devreye al. İkincisi uyarlanabilir eşik: sınırı sabit bir sayı değil, o anki ortalama trafiğin katı olarak tanımla. Trafik beş katına çıkarsa eşik de yükselir, ama tek bir oturumun payı orantısız büyüyemez.

Kritik nokta şu: kampanya gecesi gevşetilecek uçlar vitrin ve arama olmalı. Kupon, bakiye ve teslimat uçları asla gevşetilmez; kampanya anı zaten kötüye kullanımın en yoğun olduğu andır.

IP Tabanlı Sınır Neden Mobil Kullanıcıyı Haksız Yere Cezalandırıyor?

Sınırı yalnızca IP'ye bağlarsan, aynı operatör çıkışını paylaşan yüzlerce kullanıcı tek kova içinde toplanır. Bir kişinin agresif davranışı diğerlerini engeller. Aynı sorun kurumsal ağlarda, yurtlarda ve internet kafelerde de yaşanır.

Çözüm anahtarı çeşitlendirmektir. Giriş yapmış kullanıcı için sınırı kullanıcı kimliğine bağla. Misafir için IP ile birlikte tarayıcı oturum belirteci ve kaba cihaz parmak izini birleştirerek bileşik anahtar üret. Böylece paylaşımlı IP'de her kullanıcı kendi kovasına düşer.

Ek olarak ağ türüne göre farklı eşik uygulayabilirsin: veri merkezi IP'lerine sert, mobil operatör bloklarına daha toleranslı davranmak istatistiksel olarak doğru bir tercihtir. Bir e-pin yazılımında bu ayrımın yapılabilir olması, destek yükünü gözle görülür biçimde azaltır.

Önce ölç, sonra sınırla

Yeni bir eşiği doğrudan uygulamak yerine iki hafta boyunca sadece kaydet kipinde çalıştır. Gerçek verinde kaç oturumun o eşiği aştığını gör; sayı beklediğinden yüksekse eşik değil senin varsayımın hatalıdır.

429 Cevabını Nasıl Yazarsan Müşteri Kaybetmezsin?

Sınıra takılan bir kullanıcıya boş bir hata sayfası göstermek, onu kaybetmenin en hızlı yoludur. Doğru cevap üç şey içerir: ne olduğunun sade bir açıklaması, ne kadar beklemesi gerektiği ve tekrar denemek için bir yol. Teknik tarafta Retry-After başlığını göndermek dürüst istemcilerin doğru davranmasını sağlar.

Bir de şu ayrımı yap: vitrin tarafında sınıra takılan kullanıcıya nazik bir bekleme mesajı gösterilir. Güvenlik uçlarında ise ayrıntı verme; "çok fazla deneme yapıldı" demek yeterli. Saldırgana hangi sınıra hangi hızda takıldığını söylemek, sınırın altından geçmesini öğretmek olur.

Son olarak sınıra takılan istekleri kaydet ve haftalık gözden geçir. Aynı kullanıcı kimliğinin sürekli sınıra takılması ya bir kötüye kullanım ya da senin eşiğinin gerçek dışı olduğunun kanıtıdır. İkisini ayırt etmenin tek yolu veriye bakmaktır.

KontrolDurumSıklıkÖncelik
Uç nokta bazlı eşik haritası çıkarıldıTablo hazır mıHer sürümdeKritik
Kısa ve uzun pencere birlikte tanımlıÇift katman var mıKurulumdaKritik
Sınır anahtarı IP dışında kimlik de içeriyorBileşik anahtar aktif miAylıkYüksek
Kampanya profili hazır ve test edildiProva yapıldı mıHer kampanya öncesiYüksek
Retry-After başlığı gönderiliyorCevap doğru muKurulumdaOrta
Güvenlik uçlarında ayrıntı sızdırılmıyorMesaj sade miAylıkOrta
Sınıra takılan oturumlar gözden geçirildiRapor okunuyor muHaftalıkOrta

Bu ayarların tamamı, altyapının hız sınırını uç nokta bazında tanımlamana izin vermesine bağlı. Tek bir genel sayı sunan bir kurulumda yukarıdaki haritayı uygulayamazsın. Bu yüzden bir e-pin satış yazılımı değerlendirirken "hız sınırı var mı" sorusu yeterli değil; "hangi uçlar için ayrı ayrı tanımlayabiliyorum ve sınıra takılanı görebiliyor muyum" diye sormalısın.

Sınırlarını müşterini kaybetmeden sıkılaştır

Pinova, e-pin ve dijital ürün satan işletmeler için geliştirilen lisanslı satış yönetim yazılımıdır. Uç nokta bazlı sınırlar, kademeli tepkiler ve sınır kayıtları yönetim panelinden izlenir.

Tek bir genel hız sınırı gerçekten yetersiz mi?

Yetersiz. Ürün listeleme ile kupon doğrulamanın maliyeti ve riski aynı değil. Tek sayı ya birini fazla gevşek ya diğerini fazla sıkı bırakır; ikisi de sana zarar verir.

Sınıra takılan gerçek müşteri şikâyet ediyor, ne yapmalıyım?

Önce o oturumun hangi uçta ve hangi pencerede takıldığını kayıtlardan bul. Genelde suçlu vitrin tarafındaki fazla sıkı kısa pencere olur; onu gevşet, güvenlik uçlarına dokunma.

CDN üzerinde sınır koymak yeterli değil mi?

Değil. Kenar katmanı kaba trafiği keser ama kullanıcı kimliğini ve iş mantığını bilmez. Kupon ya da bakiye gibi uçlarda sınır uygulama tarafında da olmalı.

Sınır aşımında engellemek mi, yavaşlatmak mı daha iyi?

Uca göre değişir. Vitrin uçlarında yavaşlatma dönüşümü korur. Kupon, bakiye ve teslimat uçlarında ise net reddetme ve kayıt almak doğrudur.

Eşik haritasını kâğıt üstünde kurmak kolay, panelde uygulanabilir olduğunu görmek ise karar verdirir. Hangi uç noktaya hangi sınırın tanımlanabildiğini, sınıra takılan oturumların nasıl raporlandığını ve kampanya profilinin nasıl devreye alındığını incelemek için özellik listesine göz at, fiyat planlarını karşılaştır ve canlı demo üzerinden bu ayarları kendi elinle deneyerek kendi rakamlarını belirle.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar