javascript - 是否可以安全地将 javascript 代码发送到用户的浏览器?

标签 javascript security browser client-server mutation-events

是否可以将 javascript 代码发送到客户端,并让它将信息发送回服务器,而用户无法拦截、查看或更改它。据我所知这是不可能的,但我不确定某些实时协议(protocol),如 socket/ajax。有人可以拦截网络套接字吗?

如果这不可能,是否有一个聪明的解决方案来验证代码没有被更改,或者至少使代码更难被更改?也许是 Dom 突变事件?混淆代码/数据的某些敏感部分怎么样?

即:Google Analytics 如何知道给定用户没有创建虚假数据?

最佳答案

没有。

客户端的任何内容都可以获取,可以读取、窃取或更改。

永远不要相信客户端发送给你的服务器的任何东西。即使由客户端代码生成,客户端代码也可能已被更改,这意味着数据不可靠。甚至可以反编译 Flash,或者可以操纵通过主机浏览器发送的请求。

信任级别仅扩展到这样一个事实,即当使用 HTTPS 时,您可以合理地期望数据在传输过程中不会被更改(当然需要注意事项)。不过,这只是用户和服务器之间的信任关系,因此不会考虑您的应用程序的恶意用户或用户是否已受到威胁。

关于javascript - 是否可以安全地将 javascript 代码发送到用户的浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613147/

相关文章:

javascript 递归链接对象构建对象树

c++ - 是否有安全字符串的良好 C++ 实现

Javascript - 在浏览器中渲染动态生成的 XML

javascript - 从符号/它的字形中删除/忽略空白或墨迹

javascript - 移动设备上的 Highchart(触摸缩小和放大)- LineChart

javascript - Bootstrap Navbar-滚动后品牌变化

css - 不同浏览器中的字母间距

ruby-on-rails - 应用服务器和数据库服务器之间的安全问题

security - 如何使用Dart实现安全的经过身份验证的https session ?

azure - 在 Azure 中运行 VM 只是为了下载到存储帐户