javascript - 服务器和浏览器之间的可信通信?

标签 javascript ajax api web-applications

我一直都在考虑这个问题,并且总是采用更简单的解决方案,即在服务器上执行此操作。但是,我决定我可以询问更多人,也许其中一位开明者可以帮助我提供可靠的解决方案。

问题:您正在开发一个为许多用户提供服务的 Web 应用程序。您提供的部分功能涉及调用外部 API。该调用是为每个用户完成的。可以通过您的服务器或浏览器的 JavaScript 进行调用。在任何一种情况下,您都将处理来自服务器数据库中的 API 调用的数据的结果持久化。我想将 API 调用和处理结果卸载到浏览器的 JavaScript 中,完成后它将回调服务器并保留数据。我看到这种方法的问题是任何人都可以修改 JavaScript 的行为(thnx 到 firebug 及其类似行为是多么容易)以在服务器上持久保存恶意/不正确的数据。

我——服务器——如何相信来自 JavaScript 的数据——按照前面的场景——是正确的并且没有被改变?

最佳答案

简单的回答是你不能,JavaScript 是管道中最不安全的机制 - 最容易操纵。如果您希望它安全,您应该永远依赖 JavaScript。

从更一般的意义上考虑:您只能保护您至少在一定程度上控制的环境...您没有控制浏览器、JavaScript 引擎或操作它的用户.

始终在服务器端验证,始终,始终,始终。

关于javascript - 服务器和浏览器之间的可信通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4386125/

相关文章:

javascript - Socket.io mime 不匹配错误

c# - 从 C# MVC Controller 加载 EXT JS 树面板

javascript禁用在chrome中点击事件之前触发的输入图像提交按钮

php - ajax 和 php(或其他服务器语言),哪个更好?

api - 如何使用BOX API自动登录?

javascript - insertImage JS 自动添加文件位置

javascript - jQuery AJAX 代码确实运行,但 MySQL 帖子没有被删除

php - 检查表单提交时是否存在用户名

具有 Api AppService 且不带 API 网关的 Azure 应用程序网关

java - JNA:在 Spotify API 中找不到 C 方法