İçeriğe geç

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.

def search(name)
User.where("name = '#{name}'").to_a
end
def search(name)
User.where("name = ?", name).to_a
end

Girdiyi asla SQL’e gömmeyin; bağlı parametreler veya parametre placeholder’ları kullanın.