使用Node和Mysql

我正在处理angular应用程序和PHP作为后端,将数据处理到MySQL。 最近我发现Nodejs的node-mysql插件将通过JS与MySQL通信。

文件提供后,我有一个问题,我想问在这里,需要你们所有的启发。

根据文档,我们将不得不在JS文件中声明连接为

var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'me', password : 'secret', database : 'my_db' }); connection.connect(); connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { if (err) throw err; console.log('The solution is: ', rows[0].solution); }); connection.end(); 

通过在JS中提供所有敏感的数据库login数据,是否会成为安全问题的一大漏洞? 如果是的话,如何防止呢?

查询也将通过JS文件完成

 var mysql = require('mysql'); var pool = mysql.createPool(...); pool.getConnection(function(err, connection) { // Use the connection connection.query( 'SELECT something FROM sometable', function(err, rows) { // And done with the connection. connection.release(); // Don't use the connection here, it has been returned to the pool. }); }); 

这是否意味着攻击者将很容易找出我们用来查询数据库的查询是什么? 不像PHP这样的服务器端语言,我们只是把这个php文件和params一起调用。

在Nodejs上使用这个驱动是否安全?

对于这样的问题新手抱歉。

节点JS也是服务器端。 Node JS使用javascript进行编码,并不意味着它会暴露给你的客户端浏览器。 它只是在服务器端看到,并作为响应客户端浏览器请求的后端。

为了简单的解释,只要想象Node JS作为PHP服务器,但使用Javascript语言,并不需要Apache服务器。 当然他们有不同的行为和许多不同的特征。 阅读高级教程之前,最好阅读一下关于Node JS如何工作的一些教程,并尝试一下自己。