【问题标题】:Thoughts on securing SWFUpload关于保护 SWFUpload 的思考
【发布时间】: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 没有问题。希望它不会在您想象的托管服务提供商中被禁用

标签: php security swfupload


【解决方案1】:

是否可以验证 Flash 请求来自预期的来源以及有效的用户发起了请求。

Not reliably, no。您永远无法可靠地验证 Flash 请求是否来自“预期来源”。您只能验证其内容。

使用 PHPSESSID 以外的某种令牌,如果有的话,这怎么可能?

您可以发明自己的“会话恢复令牌”(又名“记住我的 cookie”)功能来将 SWFUpload 会话与 PHP 会话相关联。但它不会验证客户端软件,只是验证两个会话之间的关系。

【讨论】:

    猜你喜欢
    • 2010-09-18
    • 1970-01-01
    • 2010-10-19
    • 2011-06-01
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多