COMPUTER ENGINEER

Örneklere git
Blog
HTTP / HTTPS / TLS6 dk çalışma
33/ 70

Authentication · Kimlik doğrulama

Basic, Digest ve API key: aynı güvenlik modeli değil

Encoding, credential ve uygulama anahtarını doğru ayır.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

Basic username:password değerini Base64 ile taşır. Base64 şifreleme değildir; header ele geçirilirse bilgi okunabilir. HTTPS gereklidir ama log, tarayıcı eklentisi veya yanlış proxy kullanımı gibi sızıntıları tek başına engellemez. Credential her istekte tekrar taşınabilir; erişim kapsamı, rotasyon ve deneme sınırları gerekir.

Digest, challenge ve özet hesapları kullanır; Basic’in üzerine “daha iyi isim” değildir. Algoritma ve istemci desteği değerlendirilir; modern OAuth veya kullanıcı oturum tasarımının otomatik yerine geçmez. API key çoğu sistemde uygulamayı veya entegrasyonu tanıtır; gerçek son kullanıcı kimliği, rolü ve onayı olduğu varsayılmaz. Header adı ve yetki modeli uygulama sözleşmesidir.

Anahtarları URL query’sine koyma: erişim logu, history, referrer ve paylaşım yoluyla yayılabilir. Sunucuda gereken kapsamı sınırla, açık gösterimi azalt, rotasyonu ve iptali planla. Browser bundle’a konan secret artık secret değildir. Rate limit, quota ve credential doğrulama birbirinin yerine geçmez. Makine entegrasyonu tasarlarken service identity ve kısa ömürlü credential gibi seçenekleri hedef platformun modeline göre değerlendir.

NERESİNDE KULLANIRSIN?

Üçüncü parti servis ve makine entegrasyonu tasarlarken.

SIK YAPILAN HATA

Base64’i şifreleme, frontend env değişkenini gizli kasa sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

HTTP / temsili örnek
Authorization: Basic <base64-user-and-password>

Yer tutucu; gerçek şifre yok. HTTPS ve doğru lifecycle gerekir.

Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.

02 / SIRA SENDE

Önce kendin dene.

NEXT_PUBLIC_API_SECRET değerini browser’a gönderirsen gizli kalır mı?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
No: browser-delivered values are public to the client.

Hayır; özel credential sunucuda kalmalıdır.