我有一个使用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,否则服务器无论如何都不安全。