gpt4 book ai didi

php - 实现可扩展且高性能的 Web 应用程序

转载 作者:行者123 更新时间:2023-12-03 01:23:46 24 4
gpt4 key购买 nike

我之前在这里问过一些与此相关的各种问题,但这更多的是一个巩固问题,因为我想检查一下我是否掌握了所有内容的要点。

我正在开发一个社交媒体网络应用程序,尽管我有很多用 Java 和 PHP 编码的经验,但这次我尝试的东西有点不同。我已经模块化了应用程序的每个组件。例如,应用程序的一个组件允许用户互相发送私有(private)消息,我已将其拆分为自己的私有(private)消息服务。我还创建了一个用户数据服务,其目的是从数据库返回有关用户的数据,例如他们的姓名、地址、年龄等。他们还有另一项服务, friend 服务,它将利用 Neo4j 数据库创建社交图谱。我做这一切的原因是为了让我能够在需要时更新单独的模块 - 因此,虽然它们现在大多都运行 MySQL,但如果我认为合适的话,我可以稍后将其移至 Cassandra。

网络应用程序的实际代码实际上仅用于最终构建。它背后的模块并不真正遵循任何严格的 REST 或 SOAP 协议(protocol)。基本上我们 API 上的每个方法都变成了 PHP 程序脚本。然后,这可能会调用其他往往是面向对象的后端代码。 Web 应用程序向这些页面发出 CURL 请求,并向它们发送数据或从它们获取数据。然后,这些页面在需要数据的地方返回 JSON。

我对于如何实际识别当时登录的用户仍然有点困惑。我是否只使用 session 来实现这一点?就像我们调用 get-messages.php 脚本一样,该脚本相当于该用户的 getMessages() 方法 - 返回该用户的所有私有(private)消息 - 后端代码如何在将用户 ID 发布到时知道它是哪个用户该脚本不安全。任何人都可以这样做并获取所有消息。所以我想我应该使用 session 来实现它。我的说法正确吗?

任何人都可以发现我在这里所做的事情还有其他问题吗?

谢谢

最佳答案

您所创建的内容听起来很像任何其他 REST 接口(interface),例如 Twitter API。在这种情况下,您可能会考虑查看这些 API 如何处理用户 session 。

通常,有某种握手过程为客户端提供用户 token ,只要该 session 处于事件状态,客户端就使用该 token 从 API 获取数据。

因此,在这种情况下,您必须开发用于生成用户 token 的接口(interface),然后让后端管理这些 session 。对于像 get-messages.php 这样的各种接口(interface),您可能会将 $userToken 之类的东西作为 $_GET 或 $_POST 变量,并根据事件用户 session 的数据库对其进行验证。

关于php - 实现可扩展且高性能的 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2748006/

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