2017-12-10 1 views
0

最小の安全性APIは、カール要求の受信と検証のためにどのように見えますか?ユーザーがカールリクエストを送信した場合、webserviceのようにAPIを構築するにはどうすればよいですか?

カールリクエストの送信方法はたくさんありますが、データベースを扱うサーバーでリクエストを読み取り、検証する方法はわかりませんでした。

ありがとうございます。 dexterbからの回答後

*** UPDATE:

は、実際の状況は、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? 
// 

答えて

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があなたのユーザーテーブルに存在するかどうかをチェックするだけで済みます。それはそれです。

+0

実際の状況では、10冊の書籍(ID、名前、価格)のデータをAPIに送信します。 はどのように私は、サーバーにこのからのデータを10回送信することができます CURLOPT_POSTFIELDSを=>配列(配列( ID => 1、 名=> 'NAME1' 価格=> 1.00 ) ) – Okay

+0

どのように私ができます上記の10冊の本のデータを読んで保存しますか? – Okay

関連する問題