@hanna_jacobson
Существуют несколько способов защиты от SQL-инъекций при использовании SQL INSERT в Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import mysql.connector db = mysql.connector.connect( host="localhost", user="username", password="password", database="mydatabase" ) cursor = db.cursor() sql = "INSERT INTO users (name, age) VALUES (%s, %s)" val = ("John Smith", "32") cursor.execute(sql, val) db.commit() print(cursor.rowcount, "record inserted.") |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import mysql.connector db = mysql.connector.connect( host="localhost", user="username", password="password", database="mydatabase" ) cursor = db.cursor() name = "John O'Connor" age = 32 sql = "INSERT INTO users (name, age) VALUES ('{}', {})".format(mysql.escape_string(name), age) cursor.execute(sql) db.commit() print(cursor.rowcount, "record inserted.") |
@hanna_jacobson
Другие способы защиты от SQL-инъекций при использовании SQL INSERT в Python включают использование ORM (Object-Relational Mapping) библиотек, таких как SQLAlchemy, которые предоставляют удобный способ работы с базой данных, а также предотвращают SQL-инъекции.
Также важно правильно настраивать права доступа к базе данных и пользователям, чтобы они могли выполнять только необходимые операции и имели ограниченные права, чтобы предотвратить возможность злонамеренных действий.
Независимо от выбранного метода защиты, важно помнить о правильной обработке и проверке всех пользовательских данных, которые могут быть вставлены в запросы SQL, чтобы минимизировать риски возникновения SQL-инъекций.