2012-02-16 45 views
-2

代码,然后再解释:这是一件安全的事情吗?

​​

这样做是什么让我POST数据通过表单(动态生成的),并已发布数据下载到一个文件。

我使用非常基本的XOR加密,将(固定长度,32字节)键放在文件的起始位置。目的不是为了保护数据,而是为了混淆它。

拥有这样的文件意味着任何人都可以发布他们想要的任何数据,并将其作为下载提供给用户的计算机,但我相信用户不得不接受下载的组合和数据通过XOR与一次性密钥进行传递足以防止恶意使用。

我有什么理由不应该使用这样的文件吗?我有什么更好的替代方案?是application/octet-stream合适的MIME类型?

+1

什么用的呢?如果这一切都是将用户发布的数据返回给用户,那么“恶意使用”有什么机会呢? – deceze 2012-02-16 02:05:54

+0

传递要下载到文件的数据。目前唯一的用法是将localStorage的内容作为文件下载,以便用户可以保存,例如备份(例如清除浏览器文件之前),更改浏览器,甚至完全更换计算机。 – 2012-02-16 02:06:21

+0

你的目标是什么?生成可变大小的文件? – Borealid 2012-02-16 02:06:27

回答

1

从用户的角度来看,这是完全安全的 - 因为用户无意伤害自己,POST不能被潜在的恶意URL或重定向传递。即使它可以 - 只有一个脚本返回一个文件下载。根据定义,这不能伤害任何人。

但是您应该记住,在将它发送给用户之后 - 如果您接受数据以反混淆并以某种方式使用,则永远不会信任数据。

,只要你返回二进制数据的应用程序/八位字节流适当的MIME类型

- 是的,这是适当的

+0

A为什么可能会有所帮助。 – Ktash 2012-02-16 02:07:52

+0

@Ktash:“为什么”是什么?它是安全的,因为它是安全的。用户伤害自己没有任何意义 – zerkms 2012-02-16 02:08:58

+0

至少让“用户无意伤害自己”是有帮助的。如前所述,它对任何事物的基础都没有信心。它只是一个声明 – Ktash 2012-02-16 02:13:18