사용자가 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 키워드로 검색해서 다른 방법들도 참고해보시겠어요?
고맙습니다.