【问题标题】:Express.js / Node.js with mysqlExpress.js / Node.js 与 mysql
【发布时间】:2016-03-15 21:42:24
【问题描述】:

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

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 显示在客户端,所以每个人都可以看到数据库的登录名和密码?或者节点代码没有显示在客户端?

所以如果 smne 直接在他的服务器上安装了 phpmyadmin,比如 website/phpmyadmin 或 website/mysql,它允许黑客登录吗? 对不起,如果这是个愚蠢的问题,我以前从未使用过节点。

【问题讨论】:

  • 确保不提供您的 nodejs 文件(例如,将其放在 DocumentRoot 中),否则每个人都会看到您的密码

标签: mysql node.js express


【解决方案1】:

此代码正在服务器端执行,

我们可以说这段代码和php类似,只是在PHP上。

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

【讨论】:

    【解决方案2】:

    Node.js 允许在浏览器之外运行 Javascript,在后端,类似 PHP,例如 @alexey,但是为了运行您打算在后端运行的 JavaScript,它需要被解释和执行。这就是 Node.js 所做的,它使用 Google 虚拟机 V8,与 Google Chrome 使用的 JavaScript 运行时环境相同。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      相关资源
      最近更新 更多