JSON Nedir? Modern Veri Formatına Güvenlik Odaklı Pratik Giriş
TITLE: JSON Nedir? Modern Veri Formatına Güvenlik Odaklı Pratik Giriş
Veri alışverişi denince aklımıza ilk gelen şeylerden biri kuşkusuz ki JSON’dur. Günümüzde neredeyse her API, her web servisi ve hatta mobil uygulama bu formatla haberleşiyor. Peki tam olarak JSON nedir, neden bu kadar yaygın? Ve daha önemlisi — güvenlik açısından nasıl ele alınmalıdır?
JSON Nedir ve Neden Bu Kadar Popüler?
JSON (JavaScript Object Notation), insan tarafından okunabilir, makine tarafından kolayca işlenebilir hafif bir veri formatıdır. Yapısal olarak anahtar-değer çiftlerinden oluşan nesneleri ve sıralı değer listelerinden oluşan dizileri temel alır.
Neden bu kadar yaygın? Çünkü hem insan dostudur hem de neredeyse tüm programlama dillerinde yerleşik desteği vardır. Python’da json modülü, JavaScript’te doğrudan destek, Java’da ise çeşitli kütüphaneler sayesinde saatler sürmesi muhtemel bir formatlama işini dakikalar hatta saniyeler içinde halledebilirsiniz.
Basit bir örnek görelim:
{
"ad": "Ahmet",
"yas": 30,
"sehir": "İstanbul",
"aktif": true
}
Gördüğünüz gibi son derece sade ve anlaşılır. Ancak bu sadelik, güvenliği ihmal etmek için bir bahane değildir.
JSON Kullanımında Dikkat Edilmesi Gereken Güvenlik Konuları
JSON’nin sunduğu kolaylıklar, yanlış veya kötü niyetli kullanımda ciddi güvenlik açıklarına yol açabilir. İşte dikkat etmeniz gereken başlıca konular:
- Enjeksiyon riskleri: Kullanıcıdan gelen JSON verisini doğrudan veritabanına yazmadan önce mutlaka doğrulayın (validate). Kötü niyetli kullanıcılar, JSON içine SQL enjeksiyonu veya NoSQL query manipülasyonu gömebilir.
- Dosya boyutu ve DoS saldırıları: Çok büyük JSON payload’ları sunucuyu çökertmek için kullanılabilir. Payload boyutunu makul sınırlar içinde tutun ve uygun limitler uygulayın.
- Güvenilmeyen kaynaklardan gelen veriyi işlemek:
eval()gibi fonksiyonlar JSON verisi üzerinde kesinlikle kullanılmamalıdır. Bunun yerineJSON.parse()gibi güvenli yöntemler tercih edilmelidir. - Hassas verinin şifrelenmemiş传输: JSON içeriği üzerinden kullanıcı bilgileri gibi hassas veriler aktarılıyorsa, mutlaka HTTPS gibi şifreli bağlantılar kullanılmalıdır.
Pratik Bir Örnek: Güvenli JSON İşleme
Bir web servisine gelen JSON isteğini güvenli şekilde işlemek istiyorsunuz. İlk adım her zaman doğrulamadır. İsteğin beklediğiniz formatta geldiğinden emin olun. Kullanıcı adı yalnızca harf ve sayı mı? Yaş mantıklı bir aralıkta mı? Aktif alanı gerçekten boolean tipinde mi?
Doğrulama yaparken örneğin Python’daki pydantic gibi kütüphanelerden faydalanabilirsiniz. Böylece hem tür kontrolü hem de mantıksal sınırları bir arada sağlamış olursunuz.
Alternatif olarak Türkiye’deki geliştiriciler için apicloud.com.tr gibi API yönetim platformlarından da destek alarak, JSON işlemlerinde ek güvenlik katmanları oluşturabilirsiniz.
Son Söz
JSON, modern yazılım dünyasının vazgeçilmez bir parçasıdır. Yapısı basit olsa da, güvenlik açısından ihmal edilmesi gereken bir konu değildir. Doğru doğrulama, sınırlı payload boyutu ve şifreli iletişim gibi temel önlemlerle JSON güvenli bir şekilde kullanılabilir. Unutmayın: Güvenlik, kod yazıldıktan sonra eklenen bir detay değil, sürecin her adımında düşünülmesi gereken bir yaklaşımdır.