相关疑难解决方法(0)

围绕mysql_real_escape_string()的SQL注入

即使使用mysql_real_escape_string()函数,是否存在SQL注入的可能性?

考虑这个示例情况.SQL是用PHP构造的,如下所示:

$login = mysql_real_escape_string(GetFromPost('login'));
$password = mysql_real_escape_string(GetFromPost('password'));

$sql = "SELECT * FROM table WHERE login='$login' AND password='$password'";
Run Code Online (Sandbox Code Playgroud)

我听过很多人对我说,这样的代码仍然很危险,即使使用了mysql_real_escape_string()函数也可以破解.但我想不出任何可能的漏洞?

像这样的经典注射:

aaa' OR 1=1 --
Run Code Online (Sandbox Code Playgroud)

不工作.

你知道任何可能通过上面的PHP代码注入的注入吗?

php mysql sql security sql-injection

596
推荐指数
4
解决办法
22万
查看次数

Node.js与MySQL同步查询

我正在为我正在处理的网站创建用户注册系统,但我遇到了一些问题.

我正试图远离不得不嵌套回调,因为它有点混乱,我需要帮助的是找到是否有办法用node-mysql创建同步查询

这就是我想要实现的目标.

connection.query("select 1 as email from users where email = " + connection.escape(email), function(err, rows, fields) {
    if(err) {
        var error = {
            error_message: err.code,
            error_number: err.errno
        };

        return res.send(error);
    }

    if(rows.length > 0) {
        var error = {
            message: 'Email Address is Taken',
            code: 2
        };
        return res.send(error);
    }
});

connection.query("insert into users (email, password) values ("+connection.escape(email)+", "+connection.escape(hash)+")", function(err, rows, fields) {
            if(err) {
                var error = {
                    error_message: err.code,
                    error_number: err.errno
                };

                return res.send(error);
            }
        }); …
Run Code Online (Sandbox Code Playgroud)

mysql node.js

8
推荐指数
4
解决办法
4万
查看次数

Node JS SQL 防止 sql 注入

如何防止sql注入。我有这个 sql 查询。

db.query('SELECT data FROM '+(server)+'.users WHERE user = 1');
Run Code Online (Sandbox Code Playgroud)

node.js

0
推荐指数
1
解决办法
4652
查看次数

在SQL中“转义查询值”如何安全?(或者为什么这很危险?)[SQL注入]

我正在W3schools上使用SQL示例关注Node.js. 这里

它说下面的代码防止SQL注入。

var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE address = ' + mysql.escape(adr);
con.query(sql, function (err, result) {
if (err) throw err;
console.log(result);
});
Run Code Online (Sandbox Code Playgroud)

当查询值是用户提供的变量时,您应该转义这些值,以防止SQL注入,SQL注入是破坏或滥用数据库的常见Web黑客技术。

这就是解释。

我想了解这是多么安全。(这如何防止SQL注入)。

另外,以下代码危险吗?
var sql = 'SELECT * FROM customers WHERE address = "Mountain 21"';

mysql sql sql-injection node.js

0
推荐指数
1
解决办法
145
查看次数

标签 统计

mysql ×3

node.js ×3

sql ×2

sql-injection ×2

php ×1

security ×1