Input Validasi Bukan Opsional
2025-04-10
secure-coding-basicsValidasi 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/validator
zod
, yup
, joi
Validasi 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 :