0

考虑以下场景:

  1. 一个服务器有2个页面,分别是:parent.php和child.php
  2. parent.php 设置包含高度机密信息的会话
  3. parent.php 然后通过 Ajax 调用 child.php 然后处理接收到的任何信息

谜团: child.php 需要与 parent.php 具有相同的会话状态才能提供 parent.php 请求的信息。

这可能吗?

4

2 回答 2

3

只要您session_start()在每个脚本的顶部调用,两个脚本都在同一个域中,并且会话cookie不限于子目录,您在$_SESSION第一个请求中设置的变量仍然存在于第二个请求中。

于 2013-06-26T08:13:31.813 回答
0

会话通常通过设置和识别 cookie 来分配。有时也使用 GET 变量,但被认为是一种提升的安全威胁,因为 GET 变量在 URL 中可见。

当涉及到何时重用现有会话时,可以将 PHP 设置为一定程度的严格性。例如,您可以摆弄:

  • 饼干寿命
  • cookie 域设置
  • 饼干路径
  • 如果IP每次都需要相同
  • 如果用户代理每次都需要相同

默认设置不是很严格。

当所有条件都满足时,调用 session_start() 时 PHP 将自动重新使用现有会话。

于 2013-06-26T08:26:45.553 回答