2011-11-17 56 views
0

我想更新我的应用程序支持PDF文件的下载,但我担心的主要是关于两件事情:iOS的下载安全

1:用户将尝试使用我的应用程序下载非PDF,或病毒肆虐的物品。

2:所述病毒充斥项可感染设备。

我可能只是偏执狂,因为我认为这个沙箱可以防止大多数恶意软件逃脱并与操作系统,内核或低级别进程混杂在一起,但是你永远不能太确定。所以我的问题是双重的:我怎样才能(至少大部分)保证只下载PDF并尽可能安全地执行。

(附:下载将通过任何通用的网站在网页视图来完成,而不是服务器看到,因为我不敢在网络发展的思想)。

基于ozdrgnaDiies的回答,我发现这个样本代码;我将根据需要进行修改,谢谢。 http://iphoneincubator.com/blog/server-communication/how-to-download-a-file-only-if-it-has-been-updated

+0

iOS上有kexts吗?从何时起? –

+0

对不起,hehe,EDITTED。 – CodaFi

+0

所以基本上你说你不相信操作系统(为了能够正确地使用沙箱)?那么我也不会用我的iPhone来运行核电站。如果是我,我可能会尝试在下载时对PDF文件进行一些验证(即检查PDF数据的前几个字节以查看它是否为真正的PDF数据)。 –

回答

2

从我从你的问题云集,我想你要检查,如果你正在下载的文件是PDF格式,而不是别的什么吗?如果是这样,你可以检查文件头来验证它是一个PDF文件。

例,在每一个.PDF的第一件事(我有我自己)是:

%PDF-*.* 

*.*是版本号(?)。例如,1.2,1.3,1.5,等等

因此,从下载的PDF阅读前5个字符应导致“%PDF-”,否则就不是一个pdf。

随着越来越多的例子,在JPEG图像的第一件事就是:

リ・ 

而对于一个.exe是:

MZ・ 

+0

美丽。我会投票,但我更担心安全位。基本上我的意思是,最好的答案是你的,除非有更好的答案:P – CodaFi

0

iOS应用沙盒是。意思是,你在应用程序中做的任何事情只会影响你的应用程序。除非你试图以某种方式运行下载的内容(我认为这违反了App Store的规则)。离开将恶意制作的PDF文件的唯一的事情...

我个人不认为这将是一个大问题。

+0

谢谢,但我一直在寻找更多的“这是如何找出如果PDF是恶意的”的回答。 – CodaFi

+2

除非您控制文件的解析,否则没有真正的方法来确定PDF是否是恶意制作的。恶意制作的文件(任何类型)利用程序解析其内容并处理潜在错误或矛盾的方式。如果代码不够牢固,无法处理所有这些奇怪的错误,那么您可能会遇到问题。干杯! – 2011-11-18 00:39:00