Junior — Middle
Маалыматтар базасымен иштөөдө SQL-инъекция сыяктуу кемчиликтерди алдын алуу үчүн кайсы ыкмалар колдонулат?
sobes.tech AI
AIден жооп
Goда маалымат базасы менен иштөөдө SQL инжекцияларын алдын алуу үчүн төмөнкү ыкмалар колдонулат:
-
Параметрлүү суроолор (дайындалган билдирүүлөр) — SQL суроо жана маалыматтар менен саптарды бириктирүүнүн ордуна, параметрлерди бөлөк өткөрүп беришет. Бул зыяндуу коддун киргизилишинин алдын алат.
-
ORM же китепканалардын колдонушу, автоматтык түрдө маалыматтарды escape кылган — мисалы, GORM.
-
Кирүү маалыматтарын текшерүү жана тазалоо — бул параметрлүү кылууну алмаштырбайт, бирок коркунучтарды азайтууга жардам берет.
Стандарттык китепкана database/sql колдонуп, параметрлүү суроо мисалы:
var username string
err := db.QueryRow("SELECT name FROM users WHERE id = ?", userID).Scan(&username)
if err != nil {
// ката иштетүү
}
Бул жерде, ? — бул коопсуз түрдө суроого киргизилген параметр, ал инжекция мүмкүнчүлүгүн жоготот.