Secure coding
- React Native kursu
- Uzman
- Ders 41/47
- 5 dk
Secure coding prensiplerini öğrenirsin.
Secure coding prensipleri
Secure coding, güvenliği kod yazarken düşünmektir; sonradan eklemek değil. Temel prensipler: girdiyi doğrula, çıktıyı kaçışla, en az yetki ver, hata mesajını sızdırma.
React Native'de kullanıcı girdisi TextInput'tan gelir. Bu girdiyi kullanmadan önce doğrula: e-posta biçimi doğru mu, uzunluk sınırı aşılıyor mu? API'ye göndermeden önce kaçışla. Hata mesajlarında iç sunucu yollarını verme; genel mesaj göster. Hassas veriyi console.log'a yazma; üretimde log kapalı olsa bile risk yaratır. Bu prensipler, saldırı yüzeyini küçültür.
Girdi doğrulama örneği
Bir e-posta girdisi doğrulamak için biçim kontrolü yapılır. Basit bir yöntem: const emailOk = /[^@]+@[^@]+\.[^@]+/.test(email). Bu, e-postada bir @ ve bir nokta var mı bakar.
Daha katı doğrulama için bir kütüphane kullanılır; ama temel biçim kontrolü çoğu saldırıyı engeller. Uzunluk da sınırlandırılır: if (email.length > 200) return;. Bu, aşırı uzun girdiyle yapılan buffer saldırılarını zorlaştırır. Doğrulama hem istemcide hem sunucuda yapılır; istemci atlanabilir, sunucu atlanamaz.
Uygulama Girdi doğrulama fonksiyonu yaz
Bir validateEmail fonksiyonu yaz. Bir email parametresi alsın. /.+@.+\..+/ düzenli ifadesiyle test etsin ve boolean döndürsün.
Başlangıç kodu
// validateEmail fonksiyonunu buraya ekleÖrnek çözüm
function validateEmail(email) {
return /.+@.+\..+/.test(email);
}Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kullanıcı girdisi ne yapılmalı?
<TextInput value={text} />- Doğrulanmalı Doğru cevap
- Doğrudan veritabanına yazılmalı
- Konsola yazılmalı
- Yoksayılmalı
Açıklama: Girdi kullanılmadan önce doğrulanmalı.
2 Prensibi rolüne eşle
| Kavram | Anlamı |
|---|---|
girdi doğrula |
Biçim ve uzunluk |
çıktı kaçışla |
Enjeksiyon engeller |
en az yetki |
Sınırlı erişim |
hata gizle |
İç yolu sızdırma |
3 E-posta doğrulama
const emailOk = /[^@]+____@[^@]+\.[^@]+/.test(email);
const emailOk = /[^@]+@@[^@]+\.[^@]+/.test(email);
Açıklama: @ e-posta adresinin ayracıdır.