SafeBrowsing
使用 Google Safe Browsing 保护用户免受恶意软件和钓鱼威胁
🌟 功能
- 异步检查多个 URL
- 异步检查单个 URL
- 同步检查单个 URL
- 只有在安全的情况下才在 Safari 中打开 URL
- UIApplication 扩展
- UIViewController 扩展
- SFSafariViewController 兼容
📲 安装
SafeBrowsing 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'SafeBrowsing'
Carthage 安装
或者,您可以使用github "alexruperez/SafeBrowsing"
Swift Package Manager 安装
或者使用dependencies: [
.package(url: "https://github.com/alexruperez/SafeBrowsing.git", from: "0.1.0")
]
🛠 配置
必需配置
SafeBrowsing.apiKey = "YOUR_API_KEY_HERE"
高级可选配置
SafeBrowsing.clientId = "YOUR_CLIENT_ID" // By default your bundle identifier.
SafeBrowsing.clientVersion = "YOUR_CLIENT_VERSION" // By default your bundle short version.
SafeBrowsing.threatTypes = [.malware, .socialEngineering, .unwantedSoftware, .potenciallyHarmfulApplication]
SafeBrowsing.platformTypes = [.any]
SafeBrowsing.threatEntryTypes = [.url, .executable]
🐒 用法
异步检查多个URL
SafeBrowsing.isSafe([anURL, anotherURL]) { isSafe, error in
// Your code here
}
异步检查单个URL
SafeBrowsing.isSafe(anURL) { isSafe, error in
// Your code here
}
同步检查单个URL
注意:请勿在主线程中调用它
if SafeBrowsing.isSafe(anURL) {
// Your code here
}
仅当安全时在 Safari 中打开 URL
SafeBrowsing.safeOpen(anURL) { opened, error in
// Your code here
}
仅当安全时在 SFSafariViewController 中打开 URL
SafeBrowsing.safeOpenInSafariViewController(anURL, over: aViewController, animated: true) { opened, error in
// Your code here
}
UIApplication 扩展
是的,你可以使用 SafeBrowsing 与 UIApplication,就像 open(_:options:completionHandler:) 方法一样工作。
你也可以使用这个扩展提供所有 isSafe(_:)
方法。UIApplication.shared.safeOpen(anURL) { opened, error in
// Your code here
}
仅当安全时在 SFSafariViewController 中打开 URL
UIApplication.shared.safeOpenInSafariViewController(anURL, over: aViewController, animated: true) { opened, error in
// Your code here
}
UIViewController 扩展
aViewController.safeOpenInSafariViewController(anURL, animated: true) { opened, error in
// Your code here
}
测试 Google 安全浏览
let testingURL = URL(string: "http://malware.testing.google.test/testing/malware/")!
SafeBrowsing.isSafe(testingURL) { isSafe, error in
print(error.debugDescription)
}
❤️ 等等。
- 非常欢迎贡献。
- 认可(让我们传播话语!)是受欢迎的,但不是强制性的。
👨💻 作者
alexruperez, [email protected]
👮♂️ 许可证
SafeBrowsing 在 MIT 许可下可用。更多信息请参阅 LICENSE 文件。