JSON Nedir ve Güvenli Veri Alışverişi Nasıl Yapılır
JSON, farklı uygulamaların birbiriyle anlaşmasını kolaylaştıran, metin tabanlı bir veri formatıdır. Açılımı JavaScript Object Notation olan JSON, adını JavaScript’ten alsa da günümüzde programlama dilinden bağımsız olarak kullanılır. Web servisleri, mobil uygulamalar, yapay zekâ API’leri ve mikroservisler arasında veri taşımak için sık tercih edilmesinin temel nedeni sade, okunabilir ve kolay işlenebilir olmasıdır.
Bir API’den kullanıcı bilgisi, ürün listesi veya işlem sonucu aldığınızda verinin JSON biçiminde sunulması oldukça yaygındır. Örneğin basit bir kullanıcı nesnesi şöyle görünebilir:
{
"id": 42,
"name": "Ayşe Demir",
"email": "[email protected]",
"active": true
}
Burada süslü parantez bir nesneyi, anahtar-değer çiftleri ise nesnenin özelliklerini temsil eder. Metin değerleri çift tırnak içinde yazılır. Sayılar tırnaksız kullanılır; doğru ve yanlış değerleri için true ve false, boş değer için ise null tercih edilir.
JSON sözdiziminin temel kuralları
JSON öğrenirken birkaç temel kurala dikkat etmek yeterlidir. Öncelikle anahtar isimleri çift tırnak içinde olmalıdır. Tek tırnak kullanımı standart JSON sözdiziminin parçası değildir. Ayrıca nesne içindeki her özellik virgülle ayrılır; ancak son özelliğin ardından virgül bırakılmaz.
JSON yalnızca nesnelerden oluşmaz. Diziler sayesinde birden fazla değeri aynı yapı içinde taşıyabilirsiniz:
{
"products": [
{
"name": "Klavye",
"price": 850
},
{
"name": "Kulaklık",
"price": 1200
}
]
}
Bu örnekte products bir dizidir ve içinde iki ayrı nesne bulunur. Uygulamalar bu yapıyı kolayca okuyarak ekranda liste oluşturabilir veya veriyi başka bir servise aktarabilir.
JSON’un okunabilir olması, her zaman hatasız olduğu anlamına gelmez. Eksik virgül, yanlış tırnak kullanımı ya da kapanmayan parantezler ayrıştırma hatasına yol açabilir. Bu nedenle veri göndermeden önce JSON doğrulama araçlarından veya kullandığınız programlama dilinin yerleşik ayrıştırıcılarından yararlanabilirsiniz.
Güvenlik açısından JSON kullanırken dikkat edilmesi gerekenler
JSON tek başına güvenlik açığı oluşturan bir teknoloji değildir. Risk çoğunlukla verinin nasıl kabul edildiği, işlendiği ve saklandığıyla ilgilidir. Özellikle dış kaynaklardan gelen JSON verisini güvenilir kabul etmemek gerekir.
İlk adım, gelen veriyi şema doğrulamasından geçirmektir. Bir alanda metin bekleniyorsa sayı veya beklenmeyen bir nesne kabul edilmemeli; zorunlu alanlar kontrol edilmelidir. E-posta, tarih ve kimlik gibi değerler için uygun biçim ve uzunluk sınırları tanımlanabilir.
Ayrıca şu önlemler önemlidir:
- İstek gövdesi için boyut sınırı belirleyin.
- Çok derin veya aşırı büyük JSON yapılarını sınırlayın.
- Kullanıcıdan gelen veriyi doğrudan HTML içine yerleştirmeyin.
- Hassas bilgileri, özellikle parola ve erişim anahtarlarını JSON içinde gereksiz yere taşımayın.
- API yanıtlarında yalnızca ihtiyaç duyulan alanları döndürün.
- Kimlik doğrulama ile yetkilendirmeyi birbirinden ayırın.
- Hatalı JSON isteklerinde ayrıntılı iç sistem bilgilerini kullanıcıya göstermeyin.
- Günlük kayıtlarında erişim anahtarı, parola ve kişisel verileri maskeleyin.
JavaScript kullanan projelerde, dışarıdan gelen nesnelerin uygulamanın prototip davranışını etkilemesini önlemek de önemlidir. Güvenilir kütüphaneler kullanmak, girdileri doğrulamak ve iş mantığında yalnızca beklenen alanları işlemek bu riski azaltır.
API’lerde JSON ile çalışmaya pratik yaklaşım
Bir API isteği gönderirken genellikle Content-Type: application/json başlığı kullanılır. Sunucu da başarılı bir yanıt verdiğinde benzer bir içerik türüyle JSON döndürebilir. Ancak yalnızca başlığa güvenmek yerine yanıt gövdesini ve HTTP durum kodunu birlikte kontrol etmek gerekir.
Örneğin bir ödeme, kullanıcı hesabı veya yapay zekâ servisi entegrasyonunda şu akış izlenebilir:
- İstek verisini açıkça tanımlayın.
- Göndermeden önce tür ve uzunluk kontrolleri yapın.
- Bağlantıyı HTTPS üzerinden kurun.
- Sunucu tarafında ikinci bir doğrulama uygulayın.
- Yanıtın beklenen alanları içerip içermediğini kontrol edin.
- Hata durumlarını güvenli ve anlaşılır biçimde yönetin.
JSON, API servisleriyle çalışmayı sadeleştiren güçlü bir araçtır; ancak güvenliği otomatik olarak sağlamaz. İhtiyacınıza uygun API çözümlerini incelerken apicloud.com.tr üzerindeki OpenAI uyumlu servis yaklaşımı gibi seçeneklerde de veri doğrulama, anahtar güvenliği ve erişim kontrolünü uygulamanızın sorumluluğunda tutmanız gerekir.
Özetle JSON’u öğrenmek, modern uygulamalar arasındaki veri alışverişinin temelini anlamak demektir. Sözdizimi basit olsa da güvenli kullanım için doğrulama, sınırlama, şifreli iletişim ve hassas verilerin korunması birlikte ele alınmalıdır.