2011-09-08 60 views
1

对于我的网站,我使用的是一个Flash应用程序,允许一些php和不能做的事情。因此,我需要有一个很好的媒介来检查会议。我目前的想法是将会话添加为swf上的get变量,并在发布我正在处理的图像后,使用php中的session_id()检查会话内容。如果使用session_id()设置过期会话,会发生什么?

但是,恐怕这可能是一个安全风险。所以我的问题是,session_id(sessionhere)会忽略过期的会话。或者是否续约会议,仍然使用里面的数据,而不管6个月大吗?

回答

0

session_id()只是设置会话cookie变量的值。它不会检查是否有该会话的名称 - 这是session_start()的工作。然而,设置id会强制PHP发送一个带有新ID的“设置cookie”标题,即使你的确做了session_id(session_name()),它可以完全解决null-op问题。

如果你做了session_id('constantstring'),那么所有使用你的网站的人都会共享同一个会话。

+0

这并不回答我的问题。这是更简单的情况: 1.用户登录网站。 2.用户加载Flash应用程序进行图像处理 3.用户保存图像。 4.图像被绑定到用户帐户。 瑞士法郎获得另一个会议,因此我必须喂它一个,并将其添加到保存请求。问题是什么,IGNORE或实际使用该会话是否已过期。就像在用户端设置的会话一样,swf现在正在使用该会话在处理后将图像保存到他们的帐户。 –

+0

是的,php'll使用用户提供的会话ID,创建一个全新的会话,如果在该ID下已经不存在(假定id值适合常规会话ID命名方案)。 –

+0

换句话说,那么检查用户会话有效性并不是一种安全的方法。 –