티스토리 뷰


* 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();를 꼭 넣어주고 처리하자!


끝.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함