数据脱敏 (iOS)
对 UI 组件进行脱敏
Section titled 对 UI 组件进行脱敏经过脱敏的视图将在生成的回放中被模糊处理。你可以添加任意 UI 组件,一旦它不再显示在屏幕上,它就会被自动移除(以节省内存)。
SwiftUI
Section titled SwiftUI只需为所需的组件添加 .sensitive() 修饰符。
import ORTracker
Text("Very important sensitive text")
.sensitive()
UIKit
Section titled UIKitimport ORTracker
ORTracker.shared.addIgnoredView(view)
React Native
Section titled React NativeSDK 导出了 ORSanitizedView,你可以用它来包裹敏感组件,以便对其进行模糊处理。
import OR from '@openreplay/react-native'
// ... your app UI
<OR.ORSanitizedView>
<SensitiveComponent />
</OR.ORSanitizedView>
// ...
对网络请求进行脱敏
Section titled 对网络请求进行脱敏系统导出了两个键以自动裁剪请求/响应数据:ignoredKeys 用于请求体,ignoredHeaders 用于请求头。请求和响应都会被脱敏,但只有当请求体是有效的 JSON 时才会受到影响。
只需指定一个你希望脱敏的字符串列表:
let networkListener = NetworkListener()
networkListener.ignoredHeaders = ["mySecretToken"]
networkListener.ignoredKeys = ["password"]
也可以在将响应数据传递给监听器之前对其进行修改:
// ... request
var sanitizedData
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
sanitizedData = customSanitizeFunction(data)
print(json)
} catch {
print("Error deserializing JSON: \(error)")
}
}
networkListener.finish(response: response, data: sanitizedData)