是否可以将 javascript 代码发送到客户端,并让它将信息发送回服务器,而用户无法拦截、查看或更改它。据我所知这是不可能的,但我不确定某些实时协议(protocol),如 socket/ajax。有人可以拦截网络套接字吗?
如果这不可能,是否有一个聪明的解决方案来验证代码没有被更改,或者至少使代码更难被更改?也许是 Dom 突变事件?混淆代码/数据的某些敏感部分怎么样?
即:Google Analytics 如何知道给定用户没有创建虚假数据?
最佳答案
没有。
客户端的任何内容都可以获取,可以读取、窃取或更改。
永远不要相信客户端发送给你的服务器的任何东西。即使由客户端代码生成,客户端代码也可能已被更改,这意味着数据不可靠。甚至可以反编译 Flash,或者可以操纵通过主机浏览器发送的请求。
信任级别仅扩展到这样一个事实,即当使用 HTTPS 时,您可以合理地期望数据在传输过程中不会被更改(当然需要注意事项)。不过,这只是用户和服务器之间的信任关系,因此不会考虑您的应用程序的恶意用户或用户是否已受到威胁。
关于javascript - 是否可以安全地将 javascript 代码发送到用户的浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613147/