我有一个客户端(在 iOS 上),它使用硬编码的 https url 连接到服务器。
当建立连接时,服务器可能会指示未来的连接应该使用不同的机器名称和/或端口。此外,服务器可以指定 url 位置后缀以从中获取数据。
即以下 URL 可能在客户端中被硬编码:
https://machineName.address.port/url-suffix
建立连接后,服务器可以通知它使用 machineName2 和 portX 和 url-suffix /someLocation/somewhere,因此下次客户端连接时它将使用 url
https://machineName2.address.portX/someLocation/somewhere。
地址部分或 url 不能更改。
目前,客户端具有以下连接身份验证挑战,即它将连接到任何东西:
- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
SecTrustRef trust = challenge.protectionSpace.serverTrust;
NSURLCredential *cred;
cred = [NSURLCredential credentialForTrust:trust];
[challenge.sender useCredential:cred forAuthenticationChallenge:challenge];
}
目前这个应用程序没有做任何需要高度安全的事情——没有银行信息被访问,用户没有登录任何东西,没有用户信息被传输。客户端只是将数据从服务器下载到设备上。
如果不在客户端添加证书检查,欺骗服务器是否可以将色情内容发送到设备或其他东西,或者是否建立了 https 连接并且 url 地址是硬编码的?