0
0
Node.jsframework

Query parameterization for safety in Node.js - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is query parameterization in database queries?
Query parameterization means using placeholders in SQL queries and passing actual values separately to prevent direct insertion of user input into the query string.
Click to reveal answer
beginner
Why is query parameterization important for safety?
It protects against SQL injection attacks by ensuring user input is treated as data, not executable code in the database query.
Click to reveal answer
intermediate
How do you use query parameterization with Node.js and the 'mysql2' library?
Use '?' as placeholders in the SQL string and pass an array of values as the second argument to the query function, e.g., connection.query('SELECT * FROM users WHERE id = ?', [userId]).
Click to reveal answer
beginner
What can happen if you do NOT use query parameterization?
Your app can be vulnerable to SQL injection, allowing attackers to run harmful SQL commands, steal data, or damage your database.
Click to reveal answer
intermediate
Give an example of a safe query using parameterization in Node.js with 'pg' (PostgreSQL) library.
const text = 'SELECT * FROM users WHERE email = $1'; const values = [userEmail]; client.query(text, values);
Click to reveal answer
What symbol is commonly used as a placeholder in parameterized queries with 'mysql2' in Node.js?
A@
B$1
C?
D#
What is the main security risk avoided by using query parameterization?
ACross-site scripting (XSS)
BDenial of Service (DoS)
CMan-in-the-middle attack
DSQL injection
In PostgreSQL queries with Node.js 'pg' library, how are parameters referenced?
AUsing numbered placeholders like $1, $2
BUsing '?' placeholders
CUsing '@param' syntax
DUsing '#' symbols
Which of these is NOT a benefit of query parameterization?
AMakes queries run faster by caching
BPrevents SQL injection
CAutomatically escapes user input
DAllows dynamic query building without risk
What happens if user input is directly concatenated into SQL queries without parameterization?
AThe query runs faster
BThe app becomes vulnerable to SQL injection
CThe database automatically sanitizes input
DThe query fails to execute
Explain in your own words why query parameterization is important for database safety in Node.js applications.
Think about how attackers might try to trick your database.
You got /4 concepts.
    Describe how you would write a safe SQL query using parameterization with a Node.js database library of your choice.
    Remember the syntax differs slightly between libraries like mysql2 and pg.
    You got /4 concepts.