iOS SDK - تنقية البيانات الحساسة

تفاصيل حول تنقية التسجيلات وبيانات الشبكة في متعقّب iOS

iOS SDK ⁠-⁠ تنقية البيانات الحساسة

مكوّنات واجهة المستخدم

Section titled مكوّنات واجهة المستخدم

سيتم تمويه العروض التي تمت تنقيتها في إعادة التشغيل الناتجة. يمكنك إضافة أي مكوّن لواجهة المستخدم وسيتم إزالته تلقائيًا (للحفاظ على الذاكرة) بمجرد عدم ظهوره على الشاشة.

ما عليك سوى إضافة المُعدِّل .sensitive() إلى المكوّن المطلوب

import ORTracker

Text("Very important sensitive text")
.sensitive()
import ORTracker

ORTracker.shared.addIgnoredView(view)

يتم تصدير مفتاحين لاقتطاع بيانات الطلب/الاستجابة تلقائيًا: ignoredKeys للمتن وignoredHeaders للترويسات. ستتم تنقية كل من الطلب والاستجابة، ولكن لن يتأثر المتن إلا إذا كان JSON صالحًا.

ما عليك سوى تعيين قائمة من السلاسل النصية التي ترغب في تنقيتها:

let networkListener = NetworkListener()
networkListener.ignoredHeaders = ["mySecretToken"]
networkListener.ignoredKeys = ["password"]

من الممكن أيضًا تعديل بيانات الاستجابة قبل تمريرها إلى الـ listener:

// ... 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)