gpt4 book ai didi

php - Ajax post 请求安全

转载 作者:可可西里 更新时间:2023-11-01 01:05:12 25 4
gpt4 key购买 nike

我正在使用 PhoneGap 开发一个移动应用程序,它将通过 ajax 请求与服务器 (PHP) 通信。

在服务器端(PHP)类似于 https://example.com/retrieveData.php将通过 $_POST['user_id'] 获取用户 ID,并以 JSON 格式返回有关用户的一些敏感信息。

在客户端(PhoneGap-Javascript)JSON 输出将被解析并在应用程序中使用。

我担心的是,如果有人窃取了这个 url ( https://example.com/retrieveData.php ),他可以手动发送虚​​假的 post 请求并窃取返回的用户信息吗?

我怎样才能保证这种通信的安全?

最佳答案

My concern is that if someone steals this url ( https://example.com/retrieveData.php ), he can manually send fake post requests and can steal the returned user information?

你的担心是对的。任何人都可以向该 URL 发送消息,并获得结果除非您检查请求的某些部分 authorizes请求。

例如,您可以 authenticate检查请求是否来自用户,然后根据用户应该有权访问该信息的想法授权请求。

或者,您可以基于只有有效请求者才能通过 shared secret 知道的内容进行授权并依靠该 URL 的 https 部分来防止共享 secret 公开。您将 secret 提供给受信任的合作伙伴,并且当您通过 PHP(也通过 HTTPS 保护)生成 Web 表单时,您包括一个包含共享 secret 的隐藏输入。这是如何XSRF保护通常有效。

你应该考虑以下几点:

  1. 谁应该能够合法访问此页面?通过您的手机应用进行交互的登录用户、可以保护 secret 的合作伙伴、Web API 用户?
  2. 他们有什么凭证可以使用您服务器的其他部分?登录cookie? XSRF 代币?合作伙伴代币?
  3. 您应用的哪些部分仅通过 https 等安全 channel 发送?

如果 (2) 中的某些凭据子集满足 (1) 的所有条件,并且这些凭据仅通过 (3) 发送,那么您只需在页面中检查 (2)。否则,您需要重新设计您的应用程序架构,直到实现这一目标。

OWASP 有一个 Guide to Authorization这可能会派上用场,他们也有很多关于审查授权代码的页面,但大多数示例都不是特定于 PHP 的。

关于php - Ajax post 请求安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12680663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com