Sqlite如何转义值以防止SQL注入

编程入门 行业动态 更新时间:2024-10-09 21:29:14

Sqlite如何转义值<a href=https://www.elefans.com/category/jswz/34/1770800.html style=以防止SQL注入"/>

Sqlite如何转义值以防止SQL注入

有人可以告诉我如何转义输入值以防止SQL注入吗?我有一个用户身份验证应用程序,我需要以某种方式导入一些安全性。

我的验证如下:

//Validation 
req.checkBody('name', 'Name is required').notEmpty();
req.checkBody('email', 'Email is required').notEmpty();
req.checkBody('email', 'Email is not valid').isEmail();
req.checkBody('password', 'Password is required').notEmpty();
req.checkBody('password', 'Password must have at least 6 characters').len(6,20);
req.checkBody('password2', 'Passwords do not match').equals(req.body.password);

然后我INSERT一些值如下:

var stmt = db.prepare("INSERT INTO users ( id, name, email, password, salt) VALUES (NULL, ?, ?, ?, ?)");
               stmt.run([ name, hashEmail(email,'salt'), hashPassword(password,'salt'), 'salt'], function(error){  //.....

我们被告知这不是真正安全的导入价值的方法,但是,只要我对互联网安全没有真正的经验,我将需要您的帮助。

问候

回答如下:

由于您已经正确使用了参数化查询(不是构造与请求参数混合的SQL字符串,而是在查询中使用?指定执行SQL语句时将替换参数的位置),您上面显示的代码已经很好,并且不容易受到SQL注入的攻击]]。

仅当您将这些变量与SQL字符串本身连接在一起时,它才会受到SQLi的攻击。

更多推荐

Sqlite如何转义值以防止SQL注入

本文发布于:2024-05-07 06:16:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754746.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:以防止   Sqlite   SQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!