【发布时间】:2013-04-16 10:03:41
【问题描述】:
如何在每次从我的应用程序触发时确保 http 调用的安全,并且它还需要超时,以便任何其他用户无法从任何浏览器使用相同的链接。
我正在寻找 ios 解决方案,而不是 html 表单。
请帮帮我。无法解决此问题,也不知道该往哪个方向进行。
提前致谢。
我正在附加 PHP 和 ios 的工作代码,它们发布请求并返回响应,但没有附加安全性,任何用户都可以通过随时从浏览器调用相同的 HTTP 响应来获得相同的响应...
ios 代码:
NSURL *url=[NSURL URLWithString:@"http://example.com/getmsgs/strno=123"];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
connection=[NSURLConnection connectionWithRequest:request delegate:self];
if(connection){
webData=[[NSMutableData alloc]init];
}
NSError *requestError = NULL;
NSDictionary *allData=[NSJSONSerialization JSONObjectWithData:webdata options:0 error:&requestError];
if (requestError){
//An error occurred.
NSLog(@"error is : %@",requestError);
}
if (! allData) {
NSLog(@"Got an error: %@", requestError);
} else {
NSLog(@" data is : %@",allData) ;
}
NSArray *arrayOfEntry=[allData objectForKey:@"json"];
for (NSDictionary *diction in arrayOfEntry) {
NSString *label=[title objectForKey:@"image"];
NSString *label2=[title objectForKey:@"artist"];
NSString *label3=[title objectForKey:@"name"];
[array addObject:label];
[array addObject:label2];
[array addObject:label3];
}
php代码:
<?php
$strno=$_GET['strno'];
if (isset($strno))
{
$connect=mysql_connect("localhost","test","test") or die ('Connection error!!!');
mysql_select_db("test") or die ('Database error!!!');
$query=mysql_query("select sno FROM users where strno='$strno';");
while($row = mysql_fetch_assoc($query))
{
$jsonoutput='{"json":{
"image":"'.$row['image'].'",
"artist":"'.$row['artist'].'",
"name":"'.$row['name'].'"
}}';
}
}
echo trim($jsonoutput);
mysql_close($connect) or die ('Unable to close connection-error!!!');
}
?>
【问题讨论】: