【发布时间】:2014-09-18 19:24:18
【问题描述】:
使用 iOS 8 中的自定义键盘,您的应用用户可能会在不知不觉中安装恶意自定义键盘来执行键盘记录等操作。
这可能不利于处理敏感数据输入的应用。
为了降低这种风险,如果 iOS8 应用程序有办法禁止使用自定义键盘,那就太好了。
这可能吗?
【问题讨论】:
-
据我所知,评估键盘的风险取决于用户 - 告知用户以非侵入方式从您的应用中输入敏感数据的风险?
使用 iOS 8 中的自定义键盘,您的应用用户可能会在不知不觉中安装恶意自定义键盘来执行键盘记录等操作。
这可能不利于处理敏感数据输入的应用。
为了降低这种风险,如果 iOS8 应用程序有办法禁止使用自定义键盘,那就太好了。
这可能吗?
【问题讨论】:
secure input 不能使用自定义键盘:
您的自定义键盘不是某些文本输入对象 有资格输入。首先是任何安全文本输入对象。这样一个 对象由其 secureTextEntry 属性设置为 YES 和 通过将键入的字符显示为点来区分。
所以获取密码应该是不可能的。 如果键盘想要访问互联网,iOS 也会提示用户,这使键盘记录器更加明显。
要在您的应用中禁用自定义键盘,请完全覆盖 application:shouldAllowExtensionPointIdentifier:
- (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier {
// Disallow custom keyboards
return ![extensionPointIdentifier isEqualToString:UIApplicationKeyboardExtensionPointIdentifier];
}
【讨论】:
是,应用开发者可以选择拒绝在其应用中使用所有自定义键盘。在允许此功能之前,您已经有很多担心 Apple 已经照顾好它,就像它只是一个选项,不允许将数据输入到秘密字段等等。更多详情请阅读此处https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html
【讨论】: