如何禁用子域php会话?

时间:2010-12-06 20:40:12

标签: php session subdomain

我不想让我的php会话可供域中的任何其他人使用。我需要在Php配置中进行哪些更改才能将php会话限制为它们所源自的服务器?

3 个答案:

答案 0 :(得分:1)

session.cookie_domain(字符串)

  

session.cookie_domain 指定要在会话Cookie中设置的域。默认值为none,表示根据cookie规范生成cookie的服务器的主机名。另请参见session_get_cookie_params()和session_set_cookie_params()。

详细信息:http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain

因此,默认情况下仅限于它发起的服务器。

答案 1 :(得分:0)

您可以设置session cookie parameters以限制对特定子目录的域访问,以便所有其他子目录都无法访问cookie。

编辑添加:您必须确保在该子目录的上下文中访问cookie,否则您也将锁定自己。

答案 2 :(得分:0)

在启用会话之前,您可以使用session_set_cookie_params并设置会话cookie的域,这会使会话仅在正确的域上保留,而您的其他域不会有会话信息。您还可以检查请求的$ _SERVER变量并手动检查域,如果不是正确的域,则不要调用session_start。