jquery - jquery ajax 数据发布的安全建议?

标签 jquery ajax security post

我正在使用 jquery ajax 将更新发布回我的服务器。我担心确保我已采取适当的措施,以便只有我的 AJAX 调用才能发布数据。

我的堆栈是 Apache 上的 PHP 和 MySQL 后端。

非常感谢您的建议!

最佳答案

页面中的 AJAX 调用可以发出的任何请求也可以由应用程序外部的人员发出。如果做得正确,您将无法判断它们是作为来自您的网络应用程序的 AJAX 调用的一部分还是通过手动/其他方式进行的。

当您说要确保只有 AJAX 调用可以发布数据时,我可以想到您可能会谈论两种情况:要么您不希望恶意用户能够发布以下数据:干扰其他用户的数据,或者您实际上希望将帖子限制在多请求操作的“流”中。

如果您担心第一种情况(有人向/作为另一个用户发布恶意数据),无论您是否使用 AJAX,解决方案都是相同的 - 您只需通过任何必要的方式对用户进行身份验证即可 -通常通过 session cookie。

如果您担心第二种情况,那么您将必须执行一些操作,例如在流程的每个步骤中发出唯一的 token ,并将预期的 token 存储在服务器端。然后,当发出请求时,检查服务器端是否有针对正在执行的操作的相应条目,以及预期的 token 是否匹配以及该 token 是否尚未使用。如果没有,则拒绝该请求,如果有,则将该 token 标记为已使用并处理该请求。

如果您担心的不是这两种情况之一,那么答案将取决于您提供的更多细节。

关于jquery - jquery ajax 数据发布的安全建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38421/

相关文章:

jquery - 禁用表单域时隐藏图标

javascript - 服务器端处理与客户端处理+ ajax?

security - Gmail 和 Facebook 配置文件特定的 HTTPS : Vulnerable?

jquery - 在所有图像加载事件完成后,如何使这个 jQuery 插件可链接?

javascript - 使用 d3.js 和 raphael

jquery - 有 jQuery jEditable 多选插件吗?

ajax - 如何在 RXJS5 中正确发出 Observable.ajax.post 请求

javascript - 在 ajax 调用后为 jquery 每个函数添加延迟

java - apache shiro : authc. loginUrl 不起作用

javascript - 进行预检请求时是否需要 Access-Control-Allow-Origin CORS header ?