作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 iOS 应用程序中,我必须加载一个静态 html 文件,该文件在 web View 中包含一些敏感信息。所以我将该文件放在资源文件夹中。我正在使用此代码将其加载到网络 vie 中:
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"www"]];
[webview loadRequest:[NSURLRequest requestWithURL:url]];
最佳答案
不要使用 loadRequest
因为它将您限制为可显示为 URL 的数据(因此仅限于某些文件位置)。 UIWebView
还有其他方法:loadHTMLString
和 loadData
.这些允许您加载任意数据,这意味着它可以声明为代码变量并编译到您的二进制文件中。如果这对于您的“敏感信息”仍然不够好,您可以在编译前使用对称密码加密数据,在加载前解密并在加载后立即删除。密码 key 显然需要成为二进制文件的一部分。您可以通过使实际密码成为某些预定义计算的临时结果来进一步混淆(例如,最简单的是,存储在不同位置的两个其他 block 的 XOR)。
这一切都只是混淆。如果您的信息非常敏感,以至于有人对您的代码进行逆向工程和/或进行内存转储是值得的,那么他会这样做。您正试图以与臭名昭著的无能 DRM 相同的方式“保护”。
关于iOS - 资源内容可供公众访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26688763/
我是一名优秀的程序员,十分优秀!