接收和验证卷曲请求的最小安全性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
是否存在于您的用户表中。就是这样。