Iphone 使用安全性从网络加载UIImageView的图像

Iphone 使用安全性从网络加载UIImageView的图像,iphone,uiimageview,Iphone,Uiimageview,我正在尝试从internet将图像加载到UIImageView中。这是没有问题的,但我想要的是图像的安全与用户凭据。因此,如果您转到图像的直接链接,您将获得一个登录弹出窗口(安全目录) 如何传递这些用户凭据,以便从网络加载具有用户凭据的图像 问题是图像可能无法直接访问,只能通过iPhone应用程序访问。如果您有更好的想法来最大限度地提高安全性,请告诉我;-) 提前感谢。如果您使用的是基本服务器身份验证(我认为您基于“弹出对话框”),我建议您使用ASIHTTPRequest 它使下载和发出web请

我正在尝试从internet将图像加载到UIImageView中。这是没有问题的,但我想要的是图像的安全与用户凭据。因此,如果您转到图像的直接链接,您将获得一个登录弹出窗口(安全目录)

如何传递这些用户凭据,以便从网络加载具有用户凭据的图像

问题是图像可能无法直接访问,只能通过iPhone应用程序访问。如果您有更好的想法来最大限度地提高安全性,请告诉我;-)


提前感谢。

如果您使用的是基本服务器身份验证(我认为您基于“弹出对话框”),我建议您使用ASIHTTPRequest

它使下载和发出web请求变得非常容易。您可以通过以下操作下载图像并提供用户名和密码:

NSURL *url = [NSURL URLWithString:@"http://user:passwd@yoursite.com/secret/"];
ASIHTTPRequest *req = [ASIHTTPRequest requestWithURL:url];
[req startSynchronous];
NSError *err = [req error];
if (!err) {
    NSData *response = [req responseData];  
    UIImage* image = [UIImage imageWithData:response];
    // do whatever you want with the image here, like put it into a UIImageView
}

我假设您可以访问服务器端。创建一个简单的PHP脚本,接收带有用户名和密码的HTTP POST请求,验证它,如果它有效,则回显带有图像链接的JSON/XML/字符串,或者回显空值或其他内容

使用urlWithString从iphone调用POST请求,当您收到响应时,检查它是否为null,或者是否有链接

相应地处理结果(如果为null,则告诉用户登录凭据不正确)


如果不为空,则为图像-显示它。希望这有帮助。

谢谢您的快速回复。这不是有点有害吗?比如说,如果我欺骗了网络,iPhone发出了请求,密码是清晰可见的,不是吗?如果你使用基本身份验证是的,它将以清晰的方式发送。您可以使用消息摘要身份验证,它将执行基本编码,而不发送明文密码。如果可以,最好使用SSL+MessageDigest。至于如何在服务器上设置消息摘要,这取决于服务器,但您可以通过谷歌搜索。这里有一个关于apache的链接:ASIHTTPRequest将处理摘要和基本,因此iphone中的代码是相同的。您只需要配置服务器。