2014-06-17 131 views
-1

我想从iPhone设备上的MySql数据库中选择数据。我看起来最简单的方法是用GET参数连接到一个php文件,然后将其作为字符串返回。这种方法有多安全?

现在我只是想知道有人会找到IP地址和文件,并从另一个地方使用它的机会不是应用程序。

+3

如果有人找到该文件,这并不重要。做基本授权访问你的PHP文件。还要关心sql的使用[prepared statement](http://us3.php.net//manual/en/pdo.prepared-statements.php) –

+0

看看[oAuth](http://us1.php.net //manual/en/book.oauth.php),所以应用程序必须在您访问任何数据之前使用后端进行身份验证。 – Styphon

回答

1

1-使用基本HTTP认证请求等:

curl -u username:password http://yourWebPage 

2-然后使用像基本HTTP认证响应:

$username = $_SERVER['PHP_AUTH_USER']; 
$password = $_SERVER['PHP_AUTH_PW']; 

if($username == $correctUsername AND $password == $correctPassword){ 
    //do some thing 
}else{ 
    header('WWW-Authenticate: Basic realm="My Realm"'); 
    header('HTTP/1.0 401 Unauthorized'); 
    die ("Not authorized"); 
} 

3-然后发送数据在HTTP的体作为后JSON字符串

4-接收在PHP文件发布数据:

$myData = json_decode(file_get_contents('php://input')); 
+0

如何使用“curl -u用户名:密码http:// yourWebPage”?我尝试将它添加到NSString中,并更改yourWebPage ofc,但它似乎不起作用。如果我尝试获取$ _SERVER [“PHP_AUTH_USER”],它会给我一个错误“未定义的索引”。 – Arbitur

+0

@Arbitur我给你CURL作为例子,但你应该从你的iPhone设备做CURL。 $ _SERVER [“PHP_AUTH_USER”]它给你一个错误“未定义的索引”,因为没有任何基本的http请求从iphon –

+0

我发现一个很好的教程如何做到这一点在ios :) – Arbitur

相关问题