Uploadify - 上传图片的安全方式,仅对上传图片的用户可见

时间:2012-03-30 15:55:16

标签: security file-upload cryptography image-uploading asyncfileupload

我正在使用uploadify上传图片,但正如我很快意识到的那样,SWF对象与浏览器不共享同一会话。

我认为我需要会话的原因是为了确保“黑客”无法以其他用户的名义上传图像,或者覆盖其他用户的图像。我希望每张图片都是100%私有的上传者

以下是我看到的选项

  1. 将会话ID与上传
  2. 一起添加到请求中
  3. 使用一些加密技术

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

  5. 只是使用一个GUID,很难猜测,如果有人设法猜测另一个用户的GUID(例如会话ID),而不是让他有覆盖别人的形象的乐趣,那并不是他们偷了他们的信用卡右

  6. 问题

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

1 个答案:

答案 0 :(得分:2)

试试这个,它对我有用:
Can't see any session values when using Uploadify in ASP.NET
我们的想法是你必须将会话ID发送回服务器并根据它加载会话。