#1 iOS 보안 팁: UIPasteboard | iOS 개발

5224 단어 swiftsecurityios

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 문서
행복한 코딩🔥

좋은 웹페이지 즐겨찾기