1

我使用uploadify上传图片,但很快我发现,SWF对象与浏览器没有共享同一个会话。Uploadify - 上传图片的安全方式,仅对上传图片的用户可见

我认为我需要会话的原因是为了确保“黑客”不能以其他用户的名义上传图片,或者覆盖其他用户的图片。我想每个图像是100%的私募要上传

下面是我看到

  1. 会话ID与上载一起添加到请求
  2. 使用一些加密来

    选项
    • 生成一个随机但很难伪造的图像ID (例如签署一个令牌服务器端,使用用户ID和秘密+随机UUID,
    • 比它保存在一个表中,将用户识别符映射到令牌(令牌是图像ID)
    • 然后将其传递到用户界面,
    • SWF对象将这一令牌传递到服务器,在那里我可以验证它是否来自服务器,并且不会被用户篡改
    • 然后在表中查找该令牌,并使用该令牌将占位符下的图像字节保存。 (并且我需要希望这个令牌永远是全球唯一的,我不确定它是否100%在统计上是真实的,或者是否?如果我有一个在万亿重复的图像ID中,我可以无法上传和强制用户再次尝试,对吧?
  3. 一些其他的选项是这样简单,我不认为(例如非SWF的解决方案,例如一个Ajax吗?或者只是忘了进度条,这是不值得的,与我们目前的带宽,大多数用户甚至不会看到它)

  4. 只是使用一个GUID,很难猜测,如果有人设法猜测另一个用户的GUID(例如会话ID)他有覆盖别人形象的乐趣,这并不是说他们偷了他们的信用卡权利?

问题

  • 我可以使用选项1?它安全吗?
  • 如果不是,那么选项2好吗?它太多还是太少?它是在重新发明轮子吗?有没有一种更简单的方法来获取无会话安全的图片上传,以证明发件人无法从客户端伪造?
  • 或者也许有一个AJAX解决方案不需要SWF的进度条?
+0

我正在离开SWF ...现在尝试:http://blueimp.github.com/jQuery-File-Upload/ – 2012-03-30 23:52:36

回答