SQL enjeksiyonu (ARCH6100)
Anahtar ruby.security.sql-injection · Önem error · Kategori security · CWE CWE-89
Kullanıcı girdisini doğrudan SQL metnine interpolasyon veya birleştirme ile yerleştirmek, saldırganların sorgu yapısını değiştirip veri sızdırmasına veya değiştirmesine olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”def search(name) User.where("name = '#{name}'").to_aenddef search(name) User.where("name = ?", name).to_aendDüzeltme
Bölüm başlığı “Düzeltme”Girdiyi asla SQL’e gömmeyin; bağlı parametreler veya parametre placeholder’ları kullanın.