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



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

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

谢谢您的高级。

*** dexterb回答后更新:

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

如何将数据从此发送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?
// 

这是一个简单的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是否存在于您的用户表中。就是这样。

相关内容

  • 没有找到相关文章

最新更新