코스모스팜 스레드

php api 구현시 echo가 아닌 다른 메소드로 response를 송출하는 방법이 있나요?

사용자가 view단이 있는 webserver에서 api 서버로 특정 api를 호출하여 특정 데이터를 받아오는 api를 부득이하게 php로 구현중입니다.
php를 처음해보는 사람이라.. 도와주세요

지금 json타입으로 user에 대한 정보를 리턴해주는 get방식의 api가 있다고 할때 

while ($row = mysqli_fetch_assoc($result)) {
    array_push($return_array, $row);
}
echo json_encode($return_array);

위와 같은 방식으로 db에서 긁어와서 echo로 송출을 합니다. 이 때 echo로 data를 response하니 주소창에 xxx.php 로 직접 접근시 그대로 노출되더군요...

data를 response하는 방법(echo말고)이나 브라우져에서 xxx.php로 직접 접근시 data를 숨길 수 있는 방법없나여? 

중간에 미들웨어도 없구 nginx같이 ws도 없습니다

무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
  • 안녕하세요~^^

    PHP에서 해당 파일을 URL로 직접 접근하는 것을 제한하시려면 여러 가지 방법이 있습니다.

    간단하게는 $_SERVER['HTTP_REFERER'] 또는 $_SERVER['HTTP_USER_AGENT']로 체크하실 수 있습니다.

     

    더 안전하게 진행하시려면 IP를 체크하시거나 API 호출 시 특정 키값을 같이 포함해서 보낸 후

    해당 파일에서 키값을 체크하는 것도 고려해보셔야 할 듯합니다.

     

    구글에 php block direct url access 키워드로 검색해서 다른 방법들도 참고해보시겠어요?

    고맙습니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)