2016-03-15 62 views
0

我一直认为JavaScript作为客户端脚本,没有可能与服务器端一起工作,但是由于node.js已经改变。 但我仍不明白它是如何工作的,例如看看这段代码:Express.js/Node.js与mysql

var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'dbuser', 
    password : 's3kreee7' 
}); 

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(); 

javascript显示在客户端,所以每个人都可以看到登录名和密码到DB?或者在节点代码不显示在客户端?

因此,如果smne有phpmyadmin直接在他的服务器,如网站/ phpmyadmin或网站/ MySQL,它允许黑客登录到它? 对不起,如果它是愚蠢的问题,我从来没有使用过节点。

+0

请务必不要为您的nodejs文件提供服务(例如,将它放在DocumentRoot中),否则每个人都会看到您的密码 –

回答

1

这段代码被服务器端执行,

我们可以说,这个代码与PHP的,只是在PHP。

没有人可以访问(通常)服务器端代码。

0

Node.js允许在浏览器后端运行Javascript,类似于PHP,比如说@alexey,但为了运行你打算在后端运行的JavaScript,它需要被解释和执行。这就是Node.js使用Google Chrome所使用的JavaScript运行时环境Virtual Machine V8 Google所做的。

它主要是作为一个异步事件驱动的框架。