#1 iOS 보안 팁: UIPasteboard | iOS 개발
UIPasteboard는 무엇입니까:
잘라내기 또는 복사 방법을 사용하여 다른 앱 간에 데이터를 공유하는 방법입니다.
보안 문제가 되는 방법:
민감한 데이터를 복사하면 다른 앱에서 액세스할 수 있는 시스템의 일반 붙여넣기 보드에 저장됩니다.
프로그래밍 방식으로 일반 붙여넣기 보드에 액세스하는 방법:
UIPasteBoard.general.string
이 보안 문제를 방지하는 방법:
1. isSecureTextEntry
UITextField에는 isSecureTextEntry라는 속성이 있습니다. 이것을 true로 설정할 수 있습니다. 주로 암호에 사용됩니다.
let passwordTextField = UITextField()
passwordTextField.isSecureTextEntry = true
2. AppDelegate applicationWillResignActive 메소드에서 페이스트보드의 내용을 지웁니다.
UIPasteboard.general.items = [[String: Any]()]
3. 앱별 붙여넣기 보드 만들기
커스텀 붙여넣기 보드를 사용하면 다른 앱에서 데이터를 사용할 수 없습니다.
AppDelegate에서 사용자 지정 붙여넣기 보드를 만드는 방법
extension AppDelegate {
static let pastboardName = UIPasteboard.Name(rawValue: "CustomPasteBoard")
static var customPasteBoard: UIPasteboard? = UIPasteboard(name: pastboardName, create: true)
}
커스텀 페이스트 보드에 데이터를 저장하는 방법
extension UITextField {
open override func copy(_ sender: Any?) {
AppDelegate.customPasteBoard?.string = self.text
}
open override func cut(_ sender: Any?) {
AppDelegate.customPasteBoard?.string = self.text
self.text = nil
}
open override func paste(_ sender: Any?) {
if let text = AppDelegate.customPasteBoard?.string {
self.text = text
}
}
}
이렇게 하면 앱의 데이터가 맞춤 붙여넣기 보드에 저장됩니다.
UIPasteboard의 Apple 문서
행복한 코딩🔥
Reference
이 문제에 관하여(#1 iOS 보안 팁: UIPasteboard | iOS 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bibinjaimon/security-uipasteboard-ios-development-2gim텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)