带有node-mysql的nodejs / socket.io安全混乱

时间:2012-07-18 00:49:58

标签: mysql security node.js socket.io node-mysql

所以我开始研究node-mysql,因为我的整个站点都是用PHP构建的,但是我想使用node / socket.io来顺利进行异步用户端更新。但是我在node-mysql中遇到了一个问题,我还没有得到答案。 mysql服务器的登录信息如何不是公共信息?

根据文档https://github.com/felixge/node-mysql连接到数据库,如此

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

connection.connect();

connection.query('SELECT 1', function(err, rows, fields) {
  if (err) throw err;

  console.log('Query result: ', rows);
});

connection.end();

那么是什么阻止用户将服务器文件放入导航栏并查看mysql服务器的登录信息?我对此非常困惑,有人可以向我解释一下吗?

2 个答案:

答案 0 :(得分:6)

Node.js是服务器端JavaScript。您可以将这些文件放在放置PHP文件的类似位置,而不是放在可公开访问的位置。

您运行Node应用程序,该应用程序提供您想要的公共HTML / CSS / JS文件(或者,以JSON格式提供序列化数据)。

答案 1 :(得分:1)

您的node.js文件不应通过浏览器访问。