安全地将变量从客户端javascript传递到nodejs服务器


Securely passing variable from client side javascript to nodejs server

我有一个使用php制作的网站,其中一部分是用node.js编写的。节点js-server和php共享mysql数据库。我的网站的一部分是使用nodejs,这需要我将用户id从客户端传递到nodejs服务器。

例如,我正在做类似于的事情

var user_id=parseInt(<?php echo $this->id; ?>);

php部分在zend中。所以对于那些不熟悉zend的人来说,这个id是在这个特定视图的控制器中设置的。

因此,当我查看这个特定页面的源代码时,用户id是清晰可见的,如果更改了,如果用户传递其他用户id而不是他的用户id,则可以对另一个用户的数据库中的一些表进行更改。

隐藏这个变量的最佳方法是什么,或者其他可以帮助我克服这个问题的方法是什么?

这里有一些向后的东西。

PHP也是一种后端语言,Node是您的后端语言。

现在,为了在它们内部进行通信,为什么要通过HTML将参数传递给javascript,然后期望它是安全的

处理它的最佳方法是,您应该在节点上创建一些API,这样PHP就可以直接将值发送到该节点。。通过与这个API对话,而不是等待javascript来完成

您应该创建一个令牌身份验证系统并使用它,以便每次为该客户端生成php页面时,它都会创建一个带有一些随机字符的令牌,然后将该令牌传递给JS。。JS然后用这个令牌请求Node。。节点查看令牌表并标识客户端ID,从而完成必要的工作。

应该在节点端使用某种令牌/auth,否则服务器无论如何都不安全。