PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để sửa chuỗi F Python trong truy vấn của tôi để không dễ bị chèn SQL?

Đây là cách khử trùng một truy vấn động bằng cách sử dụng một vòng lặp python khi kéo dữ liệu!

xin lưu ý rằng hàm của tôi get_dict_resultset được sử dụng để kết nối với dB, kéo dữ liệu và lưu trữ nó trong từ điển 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

Tôi đã thêm param làm đối số trong hàm và cur.execute .

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

Đó là cách tôi chỉnh sửa mã của mình một cách an toàn để khử trùng đầu vào của người dùng và bảo vệ dB của tôi




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP hoặc DISTINCT sau khi JOIN trả về các bản sao

  2. Cài đặt Django định cấu hình cơ sở dữ liệu với hai công cụ

  3. Đối với người mới bắt đầu, có nhiều sự khác biệt giữa MySQL và PostgreSQL không

  4. Lịch sử triển khai của bảng PostgreSQL

  5. psycopg2 rò rỉ bộ nhớ sau khi truy vấn lớn