保护Web服务器上的文件并通过iPhone应用程序访问它们

时间:2013-10-10 14:41:56

标签: php ios xcode security ssl

我需要在需要保护的网络服务器上存储数千个PDF(加密或基于访问权限?)。

我想要通过我正在制作的iPhone应用程序访问这些文件的唯一方法,即用户名/密码保护。 (我通常使用php从应用程序与数据库/文件进行通信)

  1. 我应该使用哪些技术来保护文件?
  2. 我应该使用哪些iOS / php代码/框架在设备上显示它们?
  3. 我是否需要通过ssl或其他方式加密传输?
  4. 提前致谢,Leigh

2 个答案:

答案 0 :(得分:2)

  1. 如果这些PDF文件包含敏感信息,则应使用坚不可摧的加密算法(如AES-256)对其进行加密,请使用mcrypt进行对称加密(请参阅php.net/mcrypt)。

  2. 我建议您弹出iOS的默认PDF阅读器,这是最简单的方法。

  3. 同样,如果这些文件是超级敏感的或其他东西 - 当然,使用SSL / TLS。无论如何,建议使用它。

答案 1 :(得分:1)

要在您的应用上显示PDF,您可以使用UIDocumentInteractionController。见Document Interaction Programming Topics for iOS。类似的东西:

NSURL *url = ... // the file URL for the PDF
UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:url];
controller.delegate = self;
[controller presentPreviewAnimated:YES];

显然,您必须将视图控制器指定为符合UIDocumentInteractionControllerDelegate协议,并且至少应实现documentInteractionControllerViewControllerForPreview

- (UIViewController *) documentInteractionControllerViewControllerForPreview: (UIDocumentInteractionController *) controller
{
    return self;
}

您还可以在UIWebView中查看PDF,但文档交互控制器可能更好。

要加密传输,您应该使用SSL(例如,使用HTTPS而不是HTTP)。你显然也应该确保你永远不会以明文形式发送/存储密码。

在保护服务器上的文件方面,至少要确保在不经过某些授权过程的情况下无法访问它们。也就是说,不要只是将文件放在Web服务器上,然后回复一些应用程序级别的安全性来检索URL。将文件存储在Web服务器根目录之外的其他位置,并通过安全Web界面控制对文件的访问。始终假设您的网址可能会受到损害。根据所需的安全级别,您可能还需要加密服务器上的文件并让应用程序对其进行解密。

出于一般安全考虑,我建议您查看WWDC 2012视频The Security Framework。或WWDC 2011视频Security OverviewSecuring Application Data。另请参阅Security Starting Point for iOS文档。

相关问题