使用客户端语言与数据库通信(如node.js)安全吗



我正在尝试使用这个nodejs库设置MySQL连接和查询https://github.com/sidorares/node-mysql2然而,这种方法可以像一样显示我的数据库访问身份信息

const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
database: 'test'
});

我想知道这是否能保证安全。

  • 将数据库访问授权信息放在客户端是不安全的。

  • node.js不是一种客户端语言,它只是碰巧也使用js,并且主要用于服务器端(…嗯,除非您使用电子(。

  • node-mysql2库应该用于node.js服务器应用程序,而不向客户端公开任何身份验证信息。

Javascript本身并不是客户端或服务器。它最初是在客户端环境中的浏览器中使用时才为人所知的。但是,语言只是一种语言,可以用很多方式。

然后,node.js被开发为使用相同的Javascript语言。node.js可以用于各种各样的应用程序,其中大多数是服务器端。例如,如果您使用node.js构建web服务器,那么无论语言是Python、Java、PHP、Ruby还是C#,它都是一个服务器端环境,就像构建服务器所使用的任何其他环境一样。

因此,在node.js服务器代码中使用数据库密码是完全安全的,只要你已经确保了对服务器的物理和网络访问,这样公众就只能使用你服务器的公共接口,而不能访问服务器的管理、你的代码等

正如你已经知道的那样,在浏览器中运行的客户端Javascript中使用数据库密码是不安全的,因为公众可以看到这些代码及其所有网络。

最新更新