Input Validasi Bukan Opsional
2025-04-10
secure-coding-basics
Validasi input itu kayak sabuk pengaman. Jarang dipakai? Mungkin. Tapi pas butuh, nyelametin nyawa (dan data) 😬
Bayangin user bisa kirim data kayak gini:
Go
<script>alert('Hacked!')</script>Kalau langsung kamu render ke UI tanpa disaring... ya boom! XSS jalan-jalan di app kamu.
"Ah, kan udah divalidasi di form?"
NOPE. Hacker gak selalu pake UI. Mereka bisa langsung hantam endpoint via Postman atau curl.
Makanya:
Misalnya kamu bikin endpoint login:
Go
username := r.FormValue("username")
if len(username) > 1000 {
return errors.New("bro, niat nge-DDOS ya?")
}Atau bahkan lebih parah: gak divalidasi sama sekali dan langsung masukin ke query.
Jangan bikin validasi dari nol kalau ada yang udah battle-tested:
go-playground/validatorzod, yup, joiValidasi bukan jaminan 100% aman. Tapi tanpanya, kamu ibarat rumah gak pake pintu. Ya siap-siap disamperin tamu tak diundang 😅
Validasi itu sopan santun digital. Kamu gak bisa percaya semua orang bakal main bersih.
Yuk mulai biasain nge-validasi input dari sekarang~ 🚀
Konten Terkait :