如果用户发送curl请求,如何像Web服务一样构建API?

时间:2017-12-10 07:43:52

标签: php api web-services curl

最小的安全API如何接收和验证卷曲请求?

我找到了很多例子,如何发送curl请求,但没有找到如何在处理数据库的服务器上读取和验证请求。

先谢谢你。

***来自dexterb的回复后更新:

真实情况是向API发送10本书(ID,名称,价格)的数据。

如何将数据从此发送10次到服务器:

CURLOPT_POSTFIELDS => array(array(
    id => 1,
    name => 'name1'
    price => 1.00
    )
)

如何在服务器上接收请求:

list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode( ':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'],6 )));


if (!isset($_SERVER['PHP_AUTH_USER'])) {

    header('WWW-Authenticate: Basic realm="Realm-Name"');

    header('HTTP/1.0 401 Unauthorized');

    exit;

} else {

        // Look into database... SELECT... and get the api_token ...


        if( !api_token ) {

            header('WWW-Authenticate: Basic realm="Realm-Name"');

            header('HTTP/1.0 401 Unauthorized');

            exit;

        }     

}




// Make main things ...
// 
// How can I read and store the above data of ten book records?
// 

1 个答案:

答案 0 :(得分:0)

这是一个简单的api结构:

users table
- id
- name
- email
- password
- api_token (random 60 long characters)

然后,要验证您的请求,您必须使用他们的api_token。一个简单的请求就是 http://example.com/api/test?api_token=XXXXXX 然后,在您的API身份验证中,您只需检查请求中使用的api_token是否存在于users表中。那就是它。