Girdi Doğrulama, Kaçış Temelleri
Küçük izin listeleri ve korumalarla girdileri doğrulayıp normalleştirin; metni göstermeden önce riskli karakterlerden kaçış uygulayın.
Girdi Doğrulama, Kaçış Temelleri, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 3 dersten oluşur.
Genel bakış
Hedef: Girdileri sıradan ve güvenli hâle getirmek.
- Erken reddetmek için koruma koşullarını kullanın
- Belirsiz kurallar yerine izin listelerini tercih edin
- Basit bir biçime normalleştirin
- Metni göstermeden önce özel karakterleri kaçışlayın

Sayı korumasının temelleri
Basit korumalar ekleyin: türü denetleyin, aralığı denetleyin ve son değere normalleştirin.
// Validate age: number and range guard
function parseAge(input) {
// trim and parse
const n = Number(input);
if (!Number.isFinite(n)) return null; // reject non-numbers
if (n < 0 || n > 130) return null; // reject out-of-range
return Math.floor(n); // normalize to integer
}
console.log("age ok:", parseAge("21"));
console.log("age bad:", parseAge("twenty"));

Güvenli görüntüleme için kaçışlama
Kullanıcı metnini göstermeden önce, arayüzün onu düz metin olarak işlemesi için özel karakterleri kaçışlayın.
// Escape a few risky characters before displaying in HTML contexts
function escapeText(s) {
if (typeof s !== "string") return "";
return s
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">")
.replaceAll("\"", """)
.replaceAll("'", "'");
}
console.log("escaped:", escapeText("<b>Hello & bye</b>"));

Uygulamada izin verilenler listeleri
Sabit kümeler için (kodlar veya roller gibi) izin verilenler listelerini tercih edin. Büyük/küçük harf kullanımını ve boşlukları normalleştirin.
// Allowlist example: only certain country codes
const ALLOWED = new Set(["TR", "US", "DE", "GB"]);
function parseCountry(code) {
if (typeof code !== "string") return null;
const up = code.trim().toUpperCase();
if (!ALLOWED.has(up)) return null; // reject unknown
return up; // normalized
}
console.log("country ok:", parseCountry("tr"));
console.log("country bad:", parseCountry("xx"));

Küçük nesne doğrulayıcı
Türü ve sınırları denetleyin, ardından kodunuzun geri kalanının güvenebileceği normalleştirilmiş bir yapı döndürün.
// Validate a tiny user object and normalize
function validateUser(input) {
if (typeof input !== "object" || input === null) return null;
const nameOk = typeof input.name === "string" && input.name.trim().length >= 1 && input.name.trim().length <= 40;
const ageOk = parseAge(input.age) !== null;
if (!nameOk || !ageOk) return null;
return {
name: input.name.trim(),
age: parseAge(input.age)
};
}
console.log("user ok:", validateUser({ name: " Ayla ", age: "22" }));
console.log("user bad:", validateUser({ name: "", age: "old" }));

İyi savunmacı programlama alışkanlıkları
İpuçları:
- Sınır noktalarında doğrulama yapın (kullanıcı girdisi, ağ).
- İzin verilenler listelerini, aralıkları ve tür denetimlerini kullanın.
- Bir kez normalleştirin; geri kalanını basit tutun.
- Metni kullanıcılara göstermeden önce kaçışlayın.

Savunmacı girdi temelleri sınavı
Hızlı kontrol: Güvenli girdi deseni.

Özet
Özet: Erken koruma uygulayın, izin verilenler listelerini kullanın, güvenli bir yapıya normalleştirin ve görüntülemeden önce kaçışlayın. Her adımı küçük ve okunabilir tutun.

Sıkça Sorulan Sorular
“Girdi Doğrulama, Kaçış Temelleri” dersi ücretsiz mi?
Evet — “Girdi Doğrulama, Kaçış Temelleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 3 dersten oluşur.
“Girdi Doğrulama, Kaçış Temelleri” dersinde ne öğreneceğim?
Küçük izin listeleri ve korumalarla girdileri doğrulayıp normalleştirin; metni göstermeden önce riskli karakterlerden kaçış uygulayın. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“Girdi Doğrulama, Kaçış Temelleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Girdi Doğrulama, Kaçış Temelleri
- Güvenli Nesne Birleştirme; Dondurma ve Mühürleme
- Hata Sınırları (Kavramsal) — Çatı Olmadan