Çoğu işletme sahibi kod güvenliğini bir şifre meselesi sanır. Panele güçlü parola koyarsın, iki adımlı doğrulama açarsın, iş biter diye düşünürsün. Oysa dijital ürün satışında kodun çalınması genellikle hesabın ele geçirilmesiyle olmaz; kodun gereğinden fazla kişiye, gereğinden fazla ekranda gösterilmesiyle olur. Destek personelinin baktığı sipariş detayı, ekran görüntüsü alınan stok listesi, yedeklenip paylaşılan bir rapor dosyası... Hepsi aynı kapıya çıkar.
İkinci yanılgı da şudur: "Kod yanlışsa müşteri zaten söyler." Söyler ama o noktada güven kaybı yaşanmıştır. Doğru kurgu, kodun daha stoğa girerken biçim kontrolünden geçmesi ve panelde asla tam haliyle görünmemesidir. Bu yazıda desen doğrulamanın nasıl kurulduğunu, maskelemenin hangi katmanlarda yapılması gerektiğini ve bir e-pin satış scripti seçerken hangi ayrıntıya bakman gerektiğini anlatıyorum.
Kod formatı kontrolü aslında neyi korur?
Format kontrolü ilk bakışta yazım denetimi gibi durur ama işlevi çok daha derindir. Her ürün ailesinin kendine has bir kod deseni vardır: kimi 16 haneli ve dörtlü gruplanmıştır, kimi harf-rakam karışımı tek bloktur, kimi önek taşır. Panelde bu desen tanımlıysa, yanlış ürüne ait bir kod daha stoğa girerken reddedilir. Yani format kontrolü, aslında yanlış teslimatın en ucuz sigortasıdır.
Desen tanımı ayrıca sahte kod tespitine de yarar. Bir tedarikçi sana rastgele üretilmiş, yapısı doğru ama içeriği boş satırlar gönderdiğinde bunu gözle ayıramazsın; desen ve kontrol hanesi doğrulaması ise saniyede yakalar. Elbette desen doğrulaması kodun gerçekten bakiye taşıdığını kanıtlamaz, bunu ancak tedarikçi API'si söyler; ama kaba hataların büyük kısmını daha kapıda eler.
Üçüncü faydası raporlamadır. Desenli kayıt tutan bir dijital ürün satış yazılımı, hangi partide hangi formatın kullanıldığını bilir. Bir ürünün kod yapısı üretici tarafında değiştiğinde panel bunu anomali olarak işaretler ve sen tedarikçini aramadan önce sorunu görürsün.
| Desen tipi | Örnek yapı | Kontrol yöntemi | Yakaladığı hata |
|---|---|---|---|
| Sabit uzunluk | 16 karakter, boşluksuz | Uzunluk sayımı | Eksik/fazla karakter |
| Gruplu | XXXX-XXXX-XXXX-XXXX | Ayraç ve blok kontrolü | Bozuk kopyalama |
| Önekli | TR ile başlayan seri | Önek eşleşmesi | Yanlış bölge ürünü |
| Alfanümerik karışık | Harf+rakam serbest | Karakter kümesi | Geçersiz sembol |
| Kontrol haneli | Son hane doğrulama | Toplam algoritması | Uydurma kod |
Maskeleme sadece yıldız koymak mıdır?
Hayır. Yıldız koymak görsel bir önlemdir ve tek başına neredeyse işe yaramaz. Çünkü çoğu panelde maskelenen şey sadece ekrandaki metindir; sayfanın kaynağında, tarayıcının aldığı veri paketinde ya da yanındaki dışa aktarma butonunda kod olduğu gibi durur. Gerçek maskeleme sunucu tarafında yapılır: yetkisi olmayan bir kullanıcıya kodun tam hali hiç gönderilmez.
İkinci katman erişim kaydıdır. Bir personel gerçekten tam kodu görmesi gereken bir durumdaysa (örneğin müşteri teslimat alamadı ve manuel iletim gerekiyor), bu görüntüleme kayıt altına alınmalıdır: kim, ne zaman, hangi sipariş için baktı. Kayıt tutulduğunu bilen personelin davranışı değişir; bu, teknik olduğu kadar kültürel bir önlemdir.
Üçüncü katman süre sınırıdır. Açığa çıkarılan kod ekranda süresiz kalmamalı, kısa bir süre sonra yeniden maskelenmelidir. Bu üç katmanı birlikte sunan bir e-pin yazılımı, kodun panelde serbest dolaşmasını yapısal olarak imkânsız kılar.
Kod sızıntısının kaynak dağılımı
- Panel içi ekran görüntüsü 40%
- Dışa aktarılan rapor dosyası 25%
- Yetkisiz personel erişimi 20%
- Yedek ve log kayıtları 15%
Hangi rol kodun ne kadarını görmeli?
Yetki tasarımının altın kuralı şudur: kimse işini yapmak için gerekenden fazlasını görmesin. Muhasebe personeli hangi siparişin ödendiğini bilmek zorundadır ama kodun tek hanesini bile görmesi gerekmez. Destek personeli kodun teslim edildiğini doğrulamalıdır; bunun için son dört hane yeter. Depo veya stok sorumlusu partinin kaç kod içerdiğini görür, içeriğini değil.
Tam kodu görme yetkisi yalnızca işletme sahibinde ve gerektiğinde tek seferlik açılan bir denetim modunda olmalıdır. Bu modelin güzelliği şudur: ekibin büyüdükçe risk büyümez. Beş kişilik bir destek ekibi kurduğunda beş yeni sızıntı noktası yaratmış olmazsın, çünkü hiçbirinde tam kod yoktur.
Panelde kod gizliyken Excel çıktısında açık geliyorsa maskeleme yok demektir. Rapor dosyaları da aynı yetki kurallarına tabi olmalı, aksi halde tek tıkla tüm stok dışarı çıkar.
Teslimat anında kod nasıl korunur?
Kodun en savunmasız olduğu an müşteriye ulaştığı andır. Burada iki yaygın hata görürüm. Birincisi kodu e-posta gövdesine düz metin olarak yazmak; e-posta kutuları sızar, iletilir, arşivlenir. İkincisi kodu kalıcı ve tahmin edilebilir bir bağlantı arkasına koymak; sıralı numara taşıyan teslimat bağlantıları denenerek bulunabilir.
Doğrusu, müşteriye yalnızca hesabına girip görebileceği bir teslimat sayfası sunmak ya da tek kullanımlık, süresi dolan bir bağlantı üretmektir. Bağlantı rastgele ve uzun olmalı, açıldığı zaman kaydedilmeli, belirli bir süre sonra geçersizleşmelidir. Böylece müşteri kodunu alır, üçüncü kişiler alamaz. Ayrıca bu yapı, "kodu almadım" itirazlarında sana somut kayıt sağlar; hangi tarihte, hangi oturumda görüntülendiğini gösterirsin.
| Kontrol maddesi | Katman | Beklenen davranış | Öncelik |
|---|---|---|---|
| Ürün bazlı desen tanımı | Giriş | Desene uymayan kod reddedilir | Yüksek |
| Sunucu tarafı maskeleme | Görüntüleme | Tam kod istemciye hiç gitmez | Yüksek |
| Rol bazlı görünürlük | Yetki | Her rol farklı uzunluk görür | Yüksek |
| Açığa çıkarma kaydı | Denetim | Kim, ne zaman, neden | Yüksek |
| Dışa aktarma maskesi | Raporlama | Excel/CSV de maskeli | Yüksek |
| Tek kullanımlık teslimat bağlantısı | Teslimat | Süreli ve rastgele | Orta |
| Log temizliği | Altyapı | Kod hiçbir loga yazılmaz | Orta |
Şifreli saklama abartı mı, gereklilik mi?
Veritabanının ele geçirildiği bir senaryoda maskelemenin hiçbir anlamı kalmaz, çünkü saldırgan panele değil doğrudan tabloya bakar. Bu yüzden satılmamış kodların veritabanında şifreli durması gerçek bir ihtiyaçtır. Şifre anahtarının veritabanıyla aynı yerde tutulmaması ise bu önlemin bel kemiğidir; anahtar kodla birlikte duruyorsa şifreleme sadece bir yanılsamadır.
Bu yaklaşımın maliyeti küçük bir performans yüküdür ve modern sunucularda fark edilmez. Kazancı ise büyüktür: yedek dosyan yanlış ellere geçse bile içinde satılabilir kod bulunmaz. Bu mimariyi standart olarak sunan bir epin yazılım altyapısı, sana ek geliştirme yaptırmadan ciddi bir savunma katmanı verir. Sunulan koruma başlıklarının tamamını özellikler bölümünde görebilirsin.
Kodların panelde görünmesin
Desen doğrulama, rol bazlı maskeleme, denetim kaydı ve şifreli saklama; hepsi kutudan çıktığı gibi çalışsın.
Mevcut panelini nasıl denetlersin?
Üç dakikalık bir test yeterlidir. Destek yetkisi olan bir kullanıcı aç, o kullanıcıyla giriş yap ve satılmış bir siparişin detayına bak. Kod maskeli görünüyorsa ilk adımı geçtin. Şimdi aynı sayfanın kaynağını incele; maskeli metnin yanında tam kod duruyorsa maskeleme sahtedir. Son olarak o kullanıcıyla stok listesini Excel'e aktar; dosyada açık kod varsa bütün önlemler boşa çıkmıştır.
Bu üç testi geçen bir altyapı, kod güvenliğinde sağlam bir temel demektir. Geçemiyorsa ya yapılandırmayı düzeltmen ya da altyapını değiştirmen gerekir. Paket seçenekleri ve hangi güvenlik başlıklarının hangi sürümde geldiğini fiyat tablosundan karşılaştırabilirsin.
Maskelemede kaç hane açık bırakmalıyım?
Son dört hane sektör standardıdır. Destek personelinin müşteriyle eşleştirme yapmasına yeter, kodu kullanılabilir kılmaya yetmez. Daha fazlasını açmak için geçerli bir gerekçen yoksa dört hanede kal.
Desen doğrulaması sahte kodu tamamen engeller mi?
Engellemez, sadece yapısal olarak bozuk olanları eler. Kodun gerçekten bakiye taşıdığını yalnızca üretici veya tedarikçi doğrulaması gösterir. Desen kontrolü ilk filtredir, tek filtre değildir.
Kodları şifreli saklamak paneli yavaşlatır mı?
Fark edilir bir yavaşlama olmaz. Şifre çözme işlemi yalnızca teslimat anında tek kayıt için yapılır; liste ekranlarında zaten maskeli değer gösterilir, çözme gerekmez.
Personel ekran görüntüsü alırsa ne olur?
Maskeli ekranın görüntüsü işe yaramaz, sızıntı riski oluşmaz. Tam kodu açan personelin bu işlemi kayıt altına alındığı için sorumluluk nettir; caydırıcılığın asıl kaynağı da bu kayıttır.
Kod formatı kontrolü ve maskeleme, birbirini tamamlayan iki yarım önlemdir: biri yanlış kodun içeri girmesini, diğeri doğru kodun dışarı sızmasını engeller. İkisini birlikte kurduğunda panelin artık bir risk merkezi değil, kontrollü bir kasa gibi çalışır. Bu katmanların gerçek bir arayüzde nasıl hissettirdiğini görmek için canlı demo üzerinden farklı rollerle giriş yapıp aynı siparişin nasıl değiştiğini karşılaştırabilirsin.

