Enjeksiyonu Önlemek için Girdiyi Doğrulama
Kötü amaçlı yükleri sınırda reddedin.
Enjeksiyonu Önlemek için Girdiyi Doğrulama, CoddyKit'te ücretsiz bir Flask Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Flask Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Flask Academy kursu toplamda 4 dersten oluşur.
Girdiye Asla Güvenmeyin
Bir istemcinin gönderdiği her değer kötü amaçlı olabilir. Tüm girdileri güvenilmeyen olarak değerlendirmek, çoğu saldırıyı önleyen bakış açısıdır.
Enjeksiyon Ne Anlama Gelir
Enjeksiyon, kullanıcı girdisi kod veya komut olarak değerlendirildiğinde gerçekleşir. Saldırgan, bir sorguya ya da kabuğa talimatlar sızdırır.
Tek Satırda SQL Enjeksiyonu
Girdiyi doğrudan SQL içine yapıştırmak klasik hatadır. Özel hazırlanmış bir değer, sorgunuzu yeniden yazabilir ve tablonun tamamını dökebilir.
db.execute("SELECT * FROM users WHERE name = '" + name + "'")Parametreli Sorgular Kullanın
Çözüm, değerleri asla dize birleştirmeyle değil, parametreler olarak geçirmektir. Sürücü, bunları sizin için güvenli biçimde kaçışlar.
db.execute("SELECT * FROM users WHERE name = ?", (name,))ORM Yardımcı Olur
SQLAlchemy ile filter_by ve bağlanmış değerleri kullanırsınız; bu nedenle sorgular varsayılan olarak parametreli olur ve enjeksiyon çok daha zorlaşır.
User.query.filter_by(name=name).first()Biçimi ve Türü Doğrulayın
Kullanmadan önce girdinin beklediğiniz yapıya uyduğunu kontrol edin. Bir dizenin sayı beklenen yere sızmaması için türü ve aralığı doğrulayın.
age = request.args.get("age", type=int)Engelleme Listesi Yerine İzin Listesi
Kabul ettiğiniz az sayıdaki değeri listelemek, her kötü değerin peşine düşmekten daha iyidir. Bir izin listesi, açıkça izin vermediğiniz her şeyi reddeder.
Bir Şemayla Doğrulayın
Marshmallow gibi bir şema kütüphanesi alanları sizin için denetler. Yük, yanlış biçimde olduğunda bir ValidationError oluşturur.
data = UserSchema().load(request.get_json())XSS İçin Çıktıyı Kaçışlayın
Enjeksiyon HTML içine de ulaşabilir. Jinja2 autoescaping, kullanıcı metnini güvenli karakterlere dönüştürerek betiklerin sayfada çalışmasını engeller.
safe Filtresine Dikkat Edin
İçeriği safe filtresiyle işaretlemek kaçışlamayı devre dışı bırakır. Bunu yalnızca tamamen güvendiğiniz metinlerde kullanın; ham kullanıcı girdisinde asla kullanmayın.
Uç Noktada Erken Reddedin
Veriler mantığınıza dokunmadan, gelir gelmez doğrulayın. 400 yanıtıyla hızlı başarısız olmak, kötü girdinin yayılmasını önler.
Hızlı Kontrol
SQL enjeksiyonunu durduran tekniği seçin.
Özet
Girdilere güvenmemeyi, parametreli sorgularla SQL enjeksiyonunu durdurmayı, şemalarla doğrulama yapmayı, değerler için izin listesi kullanmayı ve çıktıyı kaçışlamayı öğrendiniz. Sağlam bir güvenlik çalışması!
Sıkça Sorulan Sorular
“Enjeksiyonu Önlemek için Girdiyi Doğrulama” dersi ücretsiz mi?
Evet — “Enjeksiyonu Önlemek için Girdiyi Doğrulama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Flask Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Flask Academy kursu toplamda 4 dersten oluşur.
“Enjeksiyonu Önlemek için Girdiyi Doğrulama” dersinde ne öğreneceğim?
Kötü amaçlı yükleri sınırda reddedin. Flask Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Flask Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Flask Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Enjeksiyonu Önlemek için Girdiyi Doğrulama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Flask Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Flask Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Flask-Limiter ile İstekleri Sınırlama
- Tarayıcı İstemcileri için CORS Yapılandırması
- Güvenlik Üstbilgileri ve HTTPS
- Enjeksiyonu Önlemek için Girdiyi Doğrulama