【问题标题】:PHP Performance: passing data using GET/POST or retrieve in $_SESSION session.PHP 性能:使用 GET/POST 传递数据或在 $_SESSION 会话中检索。
【发布时间】:2015-05-06 04:12:26
【问题描述】:

问题是:从 POST/GET 参数中检索数据是否比使用 SESSION 更快?

详情: 1. 当用户从视图提交表单(不是 Ajax)时,当前,它被定向到充当控制器的脚本。在这个脚本中,它会在开始时调用 session_start(),它会检索一个参数“userid”以供以后使用,然后使用 header(“Location:”) 将用户重定向到不同的页面。会话处理程序设置为“文件”(默认)。我正在考虑将其替换为将“userid”作为 POST 参数传递。这会提高性能吗?

P.S webapp 遇到了一个问题,即会话数据在高流量(约 1000 个并发用户)期间“丢失”,但是这种丢失是间歇性的,并且发生在大多数用户中。我正在尝试在给定的一组服务器规格中对其进行优化。

谢谢

【问题讨论】:

  • 大约 100 个用户顺利通过了 webapp

标签: php performance session web-traffic


【解决方案1】:

SESSION 表示文件位于服务器上。 POST/GET 表示数据通过网络直接来自用户。

主要问题是如果您使用 POST/GET 发送“userid”是一个安全问题。这意味着,任何人都可以发送任何“用户 ID”,并从您系统的任何用户发送表单。

【讨论】:

  • 是的,我确实意识到了安全问题,谢谢!但是在高流量下哪一个更“可靠”?
  • 如果您询问网络流量,那么使用 POST/GET 用户 ID 将更多数据发送到服务器。而 SESSION 将只使用硬盘
  • 你能说出“控制器脚本”是什么样的吗?它是只为一项工作编写的还是有很多带有初始化等的代码?
  • 控制器脚本获取该用户 ID 并查询数据库,然后插入一条记录。最后将用户重定向到不同的视图脚本。它基本上是为一份工作而写的。
  • 我明白了...所以试试看,看看有什么不同。也许加密可以解决 POST/GET userid 的安全问题?
猜你喜欢
  • 2012-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-29
  • 2013-07-01
相关资源
最近更新 更多