Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过将客户端发送到服务器端来保护敏感数据_Javascript_Node.js_Security_Socket.io - Fatal编程技术网

Javascript 通过将客户端发送到服务器端来保护敏感数据

Javascript 通过将客户端发送到服务器端来保护敏感数据,javascript,node.js,security,socket.io,Javascript,Node.js,Security,Socket.io,我正在使用node.js,使用 我有点像: index.html <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://localhost'); socket.on('news', function (data) { console.log(data); socket.emit('my other event',

我正在使用node.js,使用

我有点像:

index.html

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>
但有时我尝试向服务器发送数据比简单的
“hello”
要敏感和复杂得多。 在这种情况下,任何用户都可以打开一个控制台并放入相同的脚本,但可以使用任何其他脚本更改
“hello”

在我的应用程序中,我从授权我获取坐标的用户那里发送坐标到服务器,如果他位于某个特定城市,我可以使用该应用程序,否则,会抛出一条消息


但是,如果任何用户打开控制台并发送另一个坐标,该怎么办?

应使用SSL确保所有关键数据。为了向第三方隐藏关键信息,我们可以使用基于令牌的应用程序。

您是否考虑过使用类似backbone.js的东西来管理可见代码范围之外的数据?然后,您可以将数据的实际结构与最终用户分离,这将大大降低您出现这种情况的可能性??MVC模式?我不知道如何使用主干网,jsI也不是很熟练,但我用它将数据从DOM中分离出来的次数非常宝贵。如果安全性是一个问题,那么如果你不信任客户端浏览器,而浏览器发送“敏感”数据,那么就调查一下它(甚至是ember.js)。。。然后服务器需要验证它。永远不要相信客户。没有API或框架能够以合理的方式使您的API/应用程序不被黑客攻击。混淆也无济于事。Backbone.JS对此无能为力。浏览器可以设置为“lie”,也可以设置为其他客户端工具。甚至IP地址也可能被欺骗。要么接受大多数人都是诚实的,不会花时间发送不正确的坐标,要么在信任度较高的地方找到另一种验证用户身份的方法。
var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});