Zum Inhalt springen
_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

SQL Injection prevence — kompletní průvodce

23. 03. 2024 1 Min. Lesezeit intermediate

SQL injection je stará přes 25 let, ale stále patří mezi top zranitelnosti. Každý vývojář by měl vědět, jak se bránit.

Prepared statements v různých jazycích

Python + psycopg2

cursor.execute(“SELECT * FROM users WHERE email = %s”, (email,))

Node.js + pg

const result = await pool.query(‘SELECT * FROM users WHERE email = $1’, [email]);

Java + JDBC

PreparedStatement stmt = conn.prepareStatement(“SELECT * FROM users WHERE email = ?”); stmt.setString(1, email);

Go + database/sql

row := db.QueryRow(“SELECT * FROM users WHERE email = $1”, email)

C# + Dapper

var user = conn.QueryFirst(“SELECT * FROM users WHERE email = @Email”, new { Email = email });

ORM vrstva

SQLAlchemy

user = session.query(User).filter(User.email == email).first()

Prisma

const user = await prisma.user.findUnique({ where: { email } });

Entity Framework

var user = context.Users.FirstOrDefault(u => u.Email == email);

Defense in Depth

  1. Prepared statements (primární obrana)
  2. ORM s parametrizací
  3. Input validace (whitelist)
  4. Least privilege DB účty
  5. WAF pravidla
  6. SAST skenování

Klíčový takeaway

Prepared statements jsou nepřekonatelná obrana. Používejte je vždy, ve všech jazycích, bez výjimky.

securitysql injectiondatabase
Teilen:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.