2015-08-11 23 views
5

Bir blogu aramak için like'u kullanan aşağıdaki sorguyu sahibim. Bunu yaparsam kendimi bir SQL enjeksiyon saldırısına karşı savunmasız hale getirdiğimi emin değilim. SQLAlchemy bunu nasıl ele alıyor? Güvenli mi?SQLAlchemy sorgusu, enjeksiyon saldırılarına karşı savunmasız mıdır?

search_results = Blog.query.with_entities(Blog.blog_title).filter(Blog.blog_title.like("%"+ searchQuery['queryText'] +"%")).all() 

cevap

8

sen (sqlite3, psycopg2 vs.) kullandığınız ne olursa olsun veritabanı için temel db-api kütüphane parametrelerini kaçar. SQLAlchemy sadece ifade ve parametreleri execute'a geçirir, sürücü ne gerekiyorsa yapar. Parametreleri kendiniz içeren ham SQL yazmıyorsanız, enjeksiyona karşı savunmasız değilsiniz. Örneğiniz enjeksiyona karşı savunmasız değildir.