我的iOS应用程序中有一个内置的QR码扫描程序。我的后端运行在Parse上,我希望用户能够在应用程序上选择某些对象并将其ID编码为QR码并共享它,以便用户以后可以扫描QR码,接收对象id' s,并在数据库上查询它们以便以后获取并在某处显示它们。
然而,是什么阻止某人在我的应用程序外部使用QR扫描仪,查看编码到QR中的对象ID,并搞砸了什么?以某种方式允许用户在Parse数据库中查看条目的对象ID有多糟糕?这会严重危害安全吗?
我考虑加密对象ID,但我担心我的应用会因为没有遵循正确的标准而被Apple拒绝。你们有什么建议?
答案 0 :(得分:1)
简短回答:否。
赠送对象ID不存在重大安全风险。除非第三方可以访问您的应用密钥,否则他们无法访问您的数据,即使他们已经了解了所有相关信息。只要您将应用密钥隐藏得很好,您的用户就无法改变您的所有内容
请记住,您的对象ID仅在您的应用范围内是唯一的(可能仅在该特定类的范围内),因此当他们找到对象ID时,他们不知道它是否是您的应用,我的应用或者其他任何人的应用程序 - 对于他们来说,它与持有一组随机数字一样有用。
我要说的更大的问题是你无法设置对象ID,所以如果出于某种原因删除该行,你可以恢复它的每一部分,但它们都会有不同的对象ID。这意味着您的用户可以使用无意义的QR码。当然,您可以从备份恢复,但从那时起您将失去任何其他更改。这就是为什么我从不建议使用对象ID建立索引,而是创建一个新的列“ID”然后可以由您更改,然后在一边编写一段云代码逻辑脚本确保它是独一无二的。
答案 1 :(得分:0)
只要您的应用具有适当的安全性,共享对象ID就不是问题。希望您的应用程序的安全性不依赖于保持对象ID的秘密。
加密在iOS应用中很好,只要您提交正确的文书工作即可。我的其中一个应用程序使用了非常高级别的加密功能,除法国外,每个国家/地区都可以使用。你只需要提交正确的文书工作,这并不难。