gpt4 book ai didi

android - HostnameVerifier 正确实现

转载 作者:行者123 更新时间:2023-12-05 07:43:38 25 4
gpt4 key购买 nike

我正尝试在 google play 中发布我的应用程序并从 Google Play 收到此消息。

我们拒绝了您的应用程序,包名称为 xxx.xxx.xxx.xxx,因为它违反了我们的恶意行为或用户数据政策。如果您提交了更新,您的应用的先前版本仍可在 Google Play 上找到。

此应用程序使用包含用户安全漏洞的软件或允许在不适当披露的情况下收集用户数据。

下面是问题

主机名验证器您的应用程序正在使用 HostnameVerifier 接口(interface)的不安全实现。您可以在这篇 Google 帮助中心文章中找到有关如何解决该问题的更多信息。

下面是我的使用方法:

static HostnameVerifier hostnameVerifier = new HostnameVerifier() {

@Override
public boolean verify(String hostname, SSLSession session) {
if(hostname.equalsIgnoreCase("staging.hostname") || hostname.equalsIgnoreCase("production.sostname")){
return true;
}else{
return false;
}
}

};

然后这样调用它:

HttpsURLConnection conn = (HttpsURLConnection) requestURL
.openConnection();

conn.setHostnameVerifier(hostnameVerifier);

请让我知道我做错了什么。提前致谢。

最佳答案

您的验证器确实不安全。查看默认验证程序执行的检查范围:OkHostnameVerifier .这实际上是最佳实践 – 将此验证留给平台。

您可以在其上添加额外的支票,例如限制主机名。如果您的服务器缺少服务器名称指示,您可以看看 Google 在 2014 年之前是如何解决这个问题的:https://android.googlesource.com/platform/external/okhttp/+/cc0952ec282184914a6153e9deff458c94785fd1%5E%21 .

关于android - HostnameVerifier 正确实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43604291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com