如何保护使用Node.js编写的服务器端脚本和隐藏的脚​​本

时间:2018-03-13 19:44:44

标签: node.js xss

var mysql      = require('mysql');
var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'meusername',
    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();

上面的代码也有一些私人信息,如数据库名称,用户,密码和SQL查询。我是node.js的新手并且很想知道在Node.js上编写的脚本是否会以.js格式保存,以及它是否包含服务器端脚本?我的意思是如何安全/隐藏.phpaspx

如果有人详细解释我并分享一些提示以防止对Node.js进行XSS攻击,我会非常高兴。

1 个答案:

答案 0 :(得分:1)

您的问题分为两部分:

  1. 为什么服务器端JavaScript代码会保存? (它不会发送给用户)
  2. 关于XSS的事情
  3. 为什么服务器端JavaScript代码保存

    您必须在服务器上执行代码才能运行它。像

    node index.js
    

    与PHP和asp.net一样,代码然后在所述服务器上运行。同样,只有那些脚本/可执行文件生成的输出才会被发送到客户端/浏览器。

    您发布的代码段甚至没有打开侦听套接字。所以没有客户可以连接到它。

    您也应该没有HTTP Server来提供存储脚本的文件夹。总结:由于文件永远不会传输到客户端,因此您无需担心存储在那里的秘密数据。

    关于XSS的东西

    关于XSS的问题非常模糊。 XSS的概念基本上分解为:

      

    跨站点脚本(XSS)攻击是一种注入类型,其中恶意脚本被注入到其他良性和可信赖的网站中。 (Source

    因此,只要客户端/用户无法使服务器打印未经发送的数据,您就可以保存。