【发布时间】:2010-08-05 02:40:40
【问题描述】:
使用由 Javascript 控制的 Flash 上传器(例如 SWFUpload)的问题之一是 Flash 在执行上传脚本时会启动自己的会话。这意味着如果上传脚本对用户进行身份验证,它将失败。
解决此问题的一种方法是将 PHPSESSID 作为 post 参数传递给脚本。然而,这并不是一个完美的解决方案,因为许多托管服务提供商都打开了 PHP 设置“session_use_only_cookies”,从而阻止了从请求中接受会话 ID。
您不希望匿名用户执行您的上传脚本,将其从天知道的地方传递给天知道的内容,这显然是一个主要问题。
我想知道除了会话和 cookie 之外,是否有人对用户身份验证有其他想法。是否可以验证 Flash 请求来自预期的来源以及有效的用户发起了请求。使用 PHPSESSID 以外的某种令牌,如果有的话,这怎么可能?
【问题讨论】:
-
many hosting providers have the PHP setting "session_use_only_cookies" turned on你在开玩笑。至少给我看一个 -
我认为这是强制问题。您以非常笨拙的借口拒绝使用最佳解决方案,并寻找一些奇怪的解决方案。使用 session_id() 函数至少手动传递会话 ID 没有问题。希望它不会在您想象的托管服务提供商中被禁用