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"]

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

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

إذا كانت لديك أي أسئلة حول هذه العملية، فلا تتردد في التواصل معنا عبر Slack أو الاطّلاع على المنتدى الخاص بنا.