【问题标题】:Prevent tampering to files in Documents directory on iOS防止篡改 iOS 上 Documents 目录中的文件
【发布时间】:2014-03-16 00:06:57
【问题描述】:

用户可以拍摄最长 5 秒的视频,然后将其保存到他们的文档目录,然后再将该视频上传到服务器。

但是,用户很容易进入并用更大的视频文件替换该视频文件,例如 10 分钟长,只需使用 iExplorer 之类的应用程序浏览文档目录即可。有没有办法让文件防篡改?也许某种哈希值可以用来比较文件以确保它们没有被篡改?

【问题讨论】:

  • 实际上,您会发现您的大多数用户都不会费心去走那些极端。
  • 是的,您可以使用某种散列。当然,您要么需要将哈希附加到文件中,要么将其存储在其他地方。在您的情况下,似乎只检查文件大小会更容易。
  • 您可以制作文件的 md5 哈希并在应用程序中记住它:iosdevelopertips.com/core-services/…
  • 我同意@HotLicks - 只需检查文件大小。
  • 为什么文件首先需要防篡改?当它上传到服务器时,您正在检查服务器端的大小,对吗?这还不够吗?

标签: ios


【解决方案1】:

如果只是文件大小,请在上传前检查大小。如果您想确保它是相同的文件,请在其上使用 md5 哈希之类的东西。

http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html

【讨论】:

    【解决方案2】:

    对于您记录并保存在目录中的每个文件,您都可以保存创建/修改日期,因此如果该文件不在您的列表中或该日期并不多,您可以确定用户对其进行了修改。

    获取日期:

    NSString *videoPath = [directory stringByAppendingPathComponent:videoName];
    NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:videoPath error:&error];
    

    NSDate *Date = [属性 objectForKey:NSFileModificationDate]; //或NSFileCreationDate

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 2016-10-03
      • 1970-01-01
      • 2015-08-22
      • 2011-06-13
      • 1970-01-01
      相关资源
      最近更新 更多