0

在我正在构建的 PHP 站点中,我使用 Prototype AJAX 调用来处理其他一些 php 页面。这个称为 php 的页面需要一个变量,该变量在第一页上作为 SESSION var 存在(从某种意义上说,它在整个页面中被多次使用)。

这比其他任何事情都更令人好奇,但是:如果有的话,两种传递变量的方法中哪一种更可取:

  • 在被调用页面上,启动会话并从那里获取所需的 var,或者
  • 在 AJAX 调用中,将会话变量作为 POST 参数传递

所以,我很好奇在页面之间传递 POST 变量是否有更高的“成本”,而不是从会话中获取变量(添加 session_start() 等)。

4

4 回答 4

3

如果该值没有安全问题,请通过 GET 或 POST 方法传递它。只有 ff 值存在一些安全问题,或者如果用户要更改值(通过代理或注入)然后使用 SESSION,这可能是一个严重的问题。

于 2009-01-08T17:21:52.863 回答
0

我会说使用会话。
您已经承受了在请求标头中发送会话 id 的开销,因此您不妨利用它。话虽如此,这并不是一个巨大的开销,但也不是发布少量数据。
为了发布数据,您还需要在客户端提供它,如果这是您在客户端拥有它的唯一原因,那么您已经让自己不必要地受到欺骗。
跨负载平衡服务器的可扩展性,如果它被证明是一个问题,那么如果您使用会话,无论如何都必须处理。
因此,如果您的会话有效,请使用它们。

于 2009-01-08T20:28:36.107 回答
0

使用 POST 方法很容易集群服务器,因为在服务器端记住的状态较少,但代价是向客户端发送可能敏感的数据。

使用 Session 方法,服务器和客户端之间传递的带宽更少,但更难跨多个前端 Web 服务器进行扩展。

于 2009-01-08T17:16:27.087 回答
0

我实际上正在为您的问题寻找答案。

但是这就是我发现的:如果变量在第一页的会话上,这意味着你不能在“ajax 调用”页面上调用 session_start()。除非有一些我不知道的解决方法?

于 2009-03-11T16:27:50.803 回答