Menü

CVV nedir? Kart güvenlik kodu nerede yazar ve neden saklanmaz?

CVV nedir, kartın neresinde bulunur ve kart kuralları bu üç veya dört haneli kodu yetkilendirmeden sonra neden saklamayı yasaklar? Sade bir açıklama.

Yayın tarihi

  • güvenlik kodu
  • ödeme
  • PCI DSS

CVV nedir sorusunun kısa yanıtı şudur: kartın üzerinde yazan, elde fiziksel kartın bulunduğunu kanıtlamaya yarayan kısa bir güvenlik kodudur. Bu yazıda kodun kartın neresinde durduğunu, neden kart numarasından farklı kurallara tabi olduğunu ve ödeme formlarında bu alanın nasıl ele alınması gerektiğini bulacaksınız.

CVV nedir ve ne işe yarar?

Kart numarası tek başına bir soruyu yanıtlamaz: numarayı bilen kişi gerçekten kartın sahibi mi? Numaralar sızabilir, bir yerlerde görülebilir, tahmin edilebilir aralıklara sahiptir. Bunun için ikinci bir doğrulama katmanına ihtiyaç duyulur.

Güvenlik kodu tam bu boşluğu doldurur. Kod, kartın plastiği üzerinde basılıdır ve numaradan bağımsız olarak üretilir. Amaç, işlemi yapan kişinin kartı fiziksel olarak elinde tuttuğunu göstermektir. Kart numarasını ve son kullanma tarihini bir yerden kopyalayan biri, bu kodu bilmiyorsa işlemi tamamlayamaz. Bu nedenle kod, kartı olmayan birinin aşması gereken ek bir engel olarak düşünülebilir.

Kart ağları bu alan için farklı adlar kullanır. Bazıları kart doğrulama değeri, bazıları kart doğrulama kodu, bazıları kart güvenlik kodu ya da kart kimlik numarası der. Günlük kullanımda en yaygın kısaltma CVV’dir ve konuşma dilinde güvenlik kodu olarak geçer.

Bu alanın bir başka işlevi de sorumluluk dağılımıdır. İşlemin kart sahibi tarafından yapıldığını gösteren bir kanıt bulunduğunda, itiraz süreçlerinde tarafların durumu daha nettir. Kodu hiç sormayan bir form hem kötüye kullanıma daha açıktır hem de itiraz anında savunmasız kalır. Bu yüzden alanın varlığı yalnızca bir teknik gereklilik değil, aynı zamanda bilinçli bir ticari tercihtir.

Güvenlik kodu kartın nerede yazar?

Konum kart ağına göre değişir ve bu, form tasarımında sık karıştırılan bir ayrıntıdır.

Kart ağı Kodun uzunluğu Kodun yeri
American Express Dört hane Kartın ön yüzünde, numaranın üzerinde
Diğer yaygın kart ağları Üç hane Kartın arka yüzündeki imza şeridinin yanında

Bu farkın kullanıcı deneyimine etkisi büyüktür. Formda yalnızca üç hane kabul eden bir alan, dört haneli koda sahip kart sahiplerinin işlemi tamamlamasını engeller. Alanın kaç hane kabul ettiğini, kart numarasından tanınan ağa göre uyarlamak en doğru yaklaşımdır. Bunu yaparken kullanıcıya kodun nerede olduğunu hatırlatan kısa bir açıklama göstermek, desteğe gelen soruları belirgin biçimde azaltır.

Kod ile kart numarası arasındaki ayrımı da net tutmak gerekir. Numaranın son basamağı denetim basamağıdır ve yalnızca yazım hatasını yakalar; güvenlik kodu ise bir doğrulama kanıtıdır. İkisi birbirinin yerine geçmez.

Kartın arka yüzünde birden fazla sayı grubu bulunabilir. İmza şeridinin yanındaki üç hane güvenlik kodudur; şeridin içinde basılı duran uzun sayı dizisi ise manyetik şerit verisinin görsel karşılığıdır ve güvenlik koduyla karıştırılmamalıdır. Kullanıcılar en sık bu ikisini karıştırır, bu yüzden formda kısa bir görsel açıklama göstermek yararlı olur. Benzer bir karışıklık kart numarasının son basamaklarıyla da yaşanır; numaranın yapısını anlatan kart numarası biçimi yazısı bu ayrımı örneklerle açıklıyor.

CVV neden saklanmaz?

Bu, kart kurallarının en katı maddelerinden biridir. Kart kuruluşları tarafından belirlenen ve tüm ödeme zincirini bağlayan veri güvenliği standardı, güvenlik kodunun yetkilendirme işleminden sonra saklanmasını yasaklar. Yasak, kodun şifrelenerek saklanmasını da kapsar; yani “güvenli bir yerde tutarım” yaklaşımı bu alanda geçerli değildir.

Yasağın arkasındaki mantık basittir. Kodun varlık sebebi, kartın fiziksel olarak elde olduğunu göstermektir. Kodu saklayan bir sistem, bu kanıtın anlamını ortadan kaldırır: kod bir kez kaydedildiyse artık kartı ele geçirmek gerekmez, kaydı ele geçirmek yeterli olur. Bu yüzden kod, kullanıldığı an için vardır; sonrasında sistemden silinmelidir.

Aynı kural, kodu günlük kayıtlarına, hata raporlarına veya hata ayıklama çıktılarına yazmayı da kapsar. Pratikte en sık ihlal buradan çıkar: bir geliştirici sorunu bulmak için gelen isteği kaydeder ve içindeki kod bir günlük dosyasında kalır. Kart verisiyle çalışan her sistemde bu davranış açıkça yasaklanmalıdır.

Ödeme formunda güvenlik kodu alanı zorunlu mu?

Neredeyse her ödeme formu bu alanı sorar, ancak zorunluluk işin niteliğine bağlıdır. Kartın fiziksel olarak bulunmadığı uzaktan işlemlerde kod, dolandırıcılığı azaltan en yaygın araçlardan biridir. Formun bunu sormasının nedeni, işlemi yapanın kartı elinde tuttuğuna dair bir işaret elde etmektir.

Bazı abonelik ve tekrar eden ödeme senaryolarında ise kod her seferinde istenmez; çünkü kodu saklamak yasak olduğu için tekrar kullanılamaz. Bu durumda ilk işlemde alınan onay ile kartın saklı bir referansı üzerinden işlem yapılır. Kullanıcı açısından bakıldığında kod alanı bazen görünür, bazen görünmez; bu tutarsızlık tasarım hatası değil, kuralın doğal sonucudur.

Formu tasarlarken şu üç noktaya dikkat edin. Alanı kart numarasının hemen yanında tutun; kullanıcı kartı elinde tutarken kodu arar. Girebileceği uzunluğu ağa göre ayarlayın. Ve alanı hiçbir koşulda tarayıcıda kalıcı olarak saklamayın.

Üretici ile güvenlik kodu dahil test verisi üretin

Ödeme formunuzu denerken yalnızca numarayı değil, son kullanma tarihini ve güvenlik kodunu da doldurmanız gerekir. Sitemizdeki üretici, ürettiği test kartlarıyla birlikte bu alanları da verir; böylece formu tek seferde doldurabilir ve kopyaladığınız değerleri doğrudan test betiğinize taşıyabilirsiniz. Üretilen her numara kurgusaldır, yalnızca yazılım testi içindir ve hiçbiri gerçekte piyasaya sürülmemiştir. Araç burada: test kredi kartı numarası üretici.

Geliştiriciler için: saklama yasağını gerçekten uygulamak

Kuralı bilmek ile uygulamak arasındaki fark, mimari kararlarda ortaya çıkar. İlk kural, güvenlik kodunun veri modelinde bir alan olarak bulunmamasıdır. Alan yoksa saklanmaz; bu, en güvenilir önlemdir. Kodu yalnızca yetkilendirme isteğine ekleyip istekle birlikte gönderin ve yanıt geldikten sonra bellekte tutmayın.

İkinci kural, günlüklerdir. İstek ve yanıt gövdelerini kaydeden ara katmanlar, ödeme uç noktaları için alan bazlı sansür uygulamalıdır. Kodun yanı sıra tam manyetik şerit verisi de aynı kapsamdadır. Hata izleme araçlarına gönderilen bağlam nesneleri de bu sansürden geçmelidir; aksi hâlde yasağı uyguladığınızı düşünürken kodu üçüncü bir tarafın sistemine kopyalamış olursunuz.

Üçüncü kural, test tarafıdır. Test verisi üretirken gerçek kart verisi kullanmayın; yalnızca sentetik değerlerle çalışın. Kaydedilen bir test kaydında güvenlik kodunun bulunup bulunmadığını düzenli olarak denetleyin; bu denetim, kuralın zamanla aşınmasını engeller.

Bir de otomatik doldurma davranışını düşünün. Tarayıcıların kayıtlı kart önerileri bu alanı çoğu zaman boş bırakır; kullanıcı diğer alanların dolduğunu görüp yalnızca bu alanı atlar ve formu gönderdiğinde hata alır. Alanın boş kaldığını gösteren net bir odaklanma ve açıklama bu durumun önüne geçer. Kullanıcı kodu yanlış girdiğinde ise alanı tamamen temizleyip baştan yazdırmak yerine düzeltmesine izin vermek daha az sinir bozucudur.

Son olarak maskeleme kuralını baştan yazın. Kart numarası ekranda gösterilecekse yalnızca baştaki ve sondaki belirli basamaklar görünmeli, aradaki kısım gizlenmelidir. Güvenlik kodu ise hiçbir koşulda ekranda geri gösterilmez; kullanıcıya yalnızca son dört hane gibi bir özet sunulacaksa bile bu özet kodun kendisi olmamalıdır.

Sonraki adımlar

Güvenlik kodunun neden saklanmadığını anladıysanız, sıradaki adım bu kuralın test ortamındaki karşılığını görmektir: PCI DSS ve test verisi yazısı, test ortamlarının da uyum kapsamında olduğunu ve sentetik verinin neden zorunlu hale geldiğini anlatıyor. Formun tamamını baştan sona sınamak isterseniz ödeme formu test listesi iyi bir başlangıç noktasıdır.

Okumaya devam edin

Sahte kredi kartı numarası üretici hakkında makaleler