用于php函数的安全API

时间:2017-04-19 11:44:41

标签: php ios api security session

我正在为我的php函数创建一个API,因此可以通过移动应用程序访问它们。每个函数都可以通过特定的URL触发,其中参数也是通过此URL提供的。

我的API中的函数示例:

<?php
    $function = $_GET['function'];

    if($function == "login"){
        $userName = $_GET['username'];
        $saltedPass = $_GET['pass'];
        //login query
        //return true or false
    }
?>

我们的想法是通过带有HTTPrequest的移动应用启动此功能:

$check = HTTPrequest('www.domain.com/functions.php?function=login&username=mike&pass=343iubgfdg34tJHVvr23').read();
if($check == true){
    //login
}
else{
    //wrong username or pass
}

但这也意味着每个知道这些特定网址的人都可以启动我的功能。我如何以正确的方式确保这一点?

谢谢

2 个答案:

答案 0 :(得分:0)

这是我的经历 您将需要用户登录(至少)

然后您将用户ID /用户电子邮件存储在移动设备(浏览器)或本地存储中 在登录期间,将计算该用户的对应密码并从登录用户

发回

例如:用户ID是abc,使用SSL AES128加密你会得到一个像ADEXCEFEF0843495340这样的长字符串

你把他们的用户ID和密码都放在一个数组中然后base64他们, 当发送到网址时,只会发送一个base64令牌,我只是为了让初学者知道如何完成它而感到困惑。

答案 1 :(得分:0)

保护API的最佳方法是OAuth2。这是谷歌,Facebook和Twitter用于验证第一方和第三方客户端(如网站和移动应用程序)的内容。这有点复杂,但如果您可以花时间浏览一下OAuth2 Server教程,那么您以后会感谢自己!看看http://bshaffer.github.io/oauth2-server-php-docs/