PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana saya bisa memperbaiki Python F-string saya dalam kueri saya agar tidak rentan terhadap injeksi SQL?

Berikut adalah cara membersihkan kueri dinamis menggunakan loop python saat menarik data!

harap dicatat bahwa fungsi saya get_dict_resultset digunakan untuk menghubungkan ke dB, menarik data, dan menyimpannya dalam kamus python.

def get_dict_resultset(query, param):
    cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
    cur.execute(query, param)
    ans =cur.fetchall()
    dict_result = []
    for row in ans:
        dict_result.append(dict(row))
    return dict_result

Saya menambahkan param sebagai argumen dalam fungsi dan cur.execute .

for stock in symbols:
    stock_info[stock] = get_dict_resultset("SELECT 
                                            date, close          
                                            FROM security_price 
                                            WHERE 
                                            security_price.id=%s;", [stock])

Begitulah cara saya mengedit kode saya dengan aman untuk membersihkan input pengguna saya dan melindungi dB saya




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mustahil untuk Menginstal permata PG di mac saya dengan Mavericks

  2. Permintaan rekaman terbaru yang efisien dengan Postgresql

  3. Laravel di mana kondisinya - permintaan pgsql

  4. Heroku Terhubung dengan Cakephp v3.0.12

  5. Debug SQL di pgAdmin ketika SQL berisi variabel