nodejs实现sql防注入
时间: 2023-05-13 16:05:02 浏览: 481
nodejs-websocket-sqli:一个简单的NodeJS WebSocket WebApp容易受到盲SQL注入
可以使用参数化查询来防止 SQL 注入攻击。在 Node.js 中,可以使用 mysql 模块来实现参数化查询。以下是一个示例代码:
```javascript
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'mydb'
});
const username = 'admin';
const password = 'password123';
const sql = 'SELECT * FROM users WHERE username = ? AND password = ?';
const values = [username, password];
connection.query(sql, values, (error, results, fields) => {
if (error) throw error;
console.log(results);
});
connection.end();
```
在上面的代码中,我们使用了参数化查询来查询用户名和密码是否匹配。注意,我们在 SQL 查询中使用了占位符 `?` 来代替变量,然后将变量的值存储在一个数组中,传递给 `connection.query()` 方法。这样可以防止 SQL 注入攻击,因为任何恶意的 SQL 代码都会被当作字符串来处理,而不是被执行。
阅读全文