PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как мога да поправя своя F-низ на Python в моята заявка, за да не бъда уязвим на SQL инжекции?

Ето как да дезинфекцирате динамична заявка с помощта на цикъл на Python при изтегляне на данни!

моля, имайте предвид, че моята функция get_dict_resultset се използва за свързване към dB, изтегляне на данни и съхраняването им в речник на 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

Добавих param като аргумент във функцията и cur.execute .

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

Ето как безопасно редактирах кода си, за да дезинфекцирам въведенията от потребителя и да защитя своя dB




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намерите поднизове в SQL (Postgres)

  2. Отдалечена PostgreSQL връзка с pgAdmin

  3. Инсталирайте PostgreSQL на Ubuntu 18.04

  4. по подразбиране за колона xxxx не може да се преобразува автоматично за тип boolean в Postgres DB

  5. sqlalchemy postgresql където int =низ