在Node.js程序中运行纯JavaScript查询是否存在安全问题
Is running pure JavaScript queries within a Node.js program a security issue?
这似乎是一个愚蠢的问题,但我不明白为什么要在JavaScript文件中编写SQL查询。客户端不能看到JavaScript文件吗?所以,如果你有这样的东西:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'foo',
password : 'bar',
database : 'db'
});
connection.connect();
connection.query('SELECT * from table', function(err, rows, fields) {
if (!err)
console.log('The query returned ' + rows);
else
console.log('An error occurred.');
});
// rest of js code
这不是安全问题吗?有人请教育我。
如果这是故意作为浏览器的JavaScript发送到客户端的,比如在<script>
标记中,绝对可以看到。它也可以更改。
如果这是在Node.js进程中运行的Node.js代码,那么客户端就无法获得这些代码,除非你做了一些完全不顾后果的事情,比如将你的应用程序部署在一个"网络挂载"的位置,也就是说,你的网络服务器无意中发布的所有文件都有一个目录索引,有人可以点击并浏览,或者在哪里他们可能猜到像CCD_ 2或CCD_。
仅仅因为某个东西的JavaScript并不意味着它要在浏览器中使用,也不意味着它必须在浏览器中运行。
相关文章:
- 是否有一个javascript库来解析简单的查询
- 检查 mongodb 中是否存在项目(多个查询)
- j查询检查复选框是否被选中,然后向输入字段添加值
- j查询检查 remove() 后是否存在输入
- 是否可以按顺序基于关联进行查询
- 我是否阅读了搜索查询中的所有推文
- 是否有一种基于“查询”来查询Neo4j中的节点的方法;dateProperty”;
- Couchdb:是否可以从另一个视图中查询一个视图
- 对jQuery使用setTimeout()是否有任何问题;媒体查询“;类型情况
- 是否可以在CSS中为JS设置数据,以了解某些媒体查询正在应用
- 如何检查请求查询值是否为空,例如“”
- j查询以检查 ID 值是否有数字
- 有没有办法确定角度.js是否存在 url 查询参数
- 如果元素显示:无;在媒体查询中,它们是否仍然加载
- 为什么尽管查询查找记录,mysql 数据没有拉入表单,查找值是否需要是唯一的
- j查询如何检查字段是否为空,如果是这样,则向另一个元素添加一个类
- 如何在网格视图中查询asp按钮文本以查看是否有任何文本值
- j查询检查正文是否有前缀
- j查询如何检查 URL 是否包含 WORD
- 是否有媒体查询类型方法可以根据设备切换js文件