BaşlayınÜcretsiz başlayın

Kullanıcı girdisi için güvenli yaklaşımı seçmek

Bir veri yolu, bir SQL sorgusunu filtrelemek için kullanıcı yapılandırmasından bir ürün adı alıyor. İş arkadaşın iki yaklaşım öneriyor:

Yaklaşım A params (Jinja işleme) kullanır:

SQLExecuteQueryOperator(
    sql="SELECT * FROM orders WHERE product = '{{ params.product }}'",
    params={"product": user_input},
)

Yaklaşım B parameters (DB düzeyinde bağlama) kullanır:

SQLExecuteQueryOperator(
    sql="SELECT * FROM orders WHERE product = $product",
    parameters={"product": user_input},
)

Ürün adı güvenilmeyen kullanıcı girdisinden geliyorsa, hangi yaklaşım enjeksiyona karşı güvenlidir?

Bu egzersiz, kursun bir parçasıdır

Airflow ile Veri İş Hatları Oluşturma

Kursa Göz Atın

Uygulamalı etkileşimli egzersiz

Teoriyi etkileşime dönüştürün, interaktif egzersizlerimizden biriyle

Egzersize başla