태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


* PHP로 RESTful API를 개발하다보면 가끔 AJAX(XMLHttpRequest)를 이용해서 호출하는 경우 로그인 정보를 유지하여 정보 검증을 해야하는 경우가 있는데, AJAX를 이용하는 경우에도 php의 $_SESSION 정보는 활용할 수 있다. 이것을 이용해서 페이지에서 로그인한 정보를 확인하고 검증이 안된 사용자에 대해서는 권한이 없음을 알려주면 권한 관리에 용이하다.

* 하지만 php 페이지에서 바로 $_SESSION을 사용하면 로그인 정보를 가져올 수가 없고, session_start();를 AJAX처리하는 PHP 페이지 상단에 넣어야 정상적으로 동작하게 될 것이다. 아래가 아주 간단한 예이므로, 응용하면 된다.

API 호출하는 페이지 예
<?php
session_start();

$_SESSION["login"] = "true";

?>
<script>
var xhr = new XMLHttpRequest();
xhr.open("./api.php");
xhr.send();
</script>


./api.php 페이지 소스 예
<?php

session_start();

if($_SESSION["login"] == "true") {
    //로그인 정상 처리: Response 200
} else {
    // 권한 오류 처리: Response 403
    die();
}
?>

* 잊지말고 session_start();를 꼭 넣어주고 처리하자!


끝.

저작자 표시 비영리 동일 조건 변경 허락
신고

이 글을 공유하세요.

Tag ,
질문이나 의견을 댓글로 달아 주세요