2017-12-10 11 views
0

말풍선 수신 및 유효성 확인을위한 가장 작은 안전 API는 어떻게 생겼습니까?사용자가 컬 요청을 보내면 webservice처럼 API를 작성하는 방법은 무엇입니까?

컬 요청을 보내는 방법과 데이터베이스를 다루는 서버에서 요청을 읽고 검증하는 방법이 아닌 많은 예제가 있습니다.

고맙습니다.

는 *** UPDATE 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? 
// 

답변

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

실제 상황은 API에 10 권의 책 (ID, 이름, 가격)의 데이터를 보내는 것입니다. 가 어떻게 서버에이 데이터를 10 시간을 보낼 수 있습니다 CURLOPT_POSTFIELDS을 => 배열 (배열 ( ID => 1, 이름 => 'NAME1' 가격 => 1.00 ) ) – Okay

+0

어떻게 할 수 10 권의 책 레코드의 위 데이터를 읽고 저장합니까? – Okay