İçeriğe geç

Toplu Atama (ARCH5129)

Anahtar go.security.mass-assignment · Önem warning · Kategori security · CWE CWE-915

İstek gövdesini doğrudan bir modele bağlayıp kaydetmek, saldırganın IsAdmin gibi korunması gereken alanları ayarlamasına olanak tanır. Yalnızca izin verilen alanlar atanmalıdır.

var user User
json.NewDecoder(r.Body).Decode(&user) // IsAdmin dahil her alan
db.Create(&user)
var req struct {
Name string `json:"name"`
Email string `json:"email"`
}
json.NewDecoder(r.Body).Decode(&req)
user := User{Name: req.Name, Email: req.Email}
db.Create(&user)

Girdiyi yalnızca izin verilen alanları içeren bir DTO’ya bağlayın ve modeli açıkça doldurun.