_rx_csrf_token의 쓰임새
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.0 |
문득 소스개발자도구를 보니 _rx_csrf_token 라는 게 눈에 들어오더군요.
혹시 이걸로 ajax 호출 대상이 되는 외부 php 파일의 직접 액세스를 막을 수 있는 건가요?
만약 그렇다면 외부 php 파일에서는 어떻게 불러올 수 있나요?

윤삼
Lv. 19
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
댓글 4
간단하게 설명하자면 외부에서 직접 요청을 막는 용도입니다.
예를들어 procMemberLogin(맞나..?) 에 바로 요청을 꽂아넣어서 로그인 처리하는게 안된다는거지요.
./modules/module_name/conf/module.xml
파일에 선언된 act 들에게 csrf_check="false" 속성을 주면 csrf확인을 하지 않아요.
꼭 필요한 부분이 아닌 이상, 해당 옵션을 추가하는게 좋은 선택은 아닌듯 하지만요.
다름이 아니라 어제 질문했던 내용과 관련해서 https://stackoverflow.com/questions/6287903/how-to-properly-add-csrf-token-using-php 이런 걸 발견해서요.
이외에도 찾아보니까 세션에 토큰을 저장했다가 ajax를 통해 외부 페이지에 POST로 넘기고 거기서 다시 세션값을 비교하는 방식을 추천하더라구요.
그나저나 외부페이지에서는 $_SERVER['HTTP_X_CSRF_TOKEN'] 이걸로 _rx_csrf_token를 불러올 수 있군요.
아하. 본문 내용을 제대로 안읽었네요ㅠ
외부에서 토큰 처리를 하는 방법이 필요한거였네요ㅋㅋㅋ;;;
덕분에 자료 탐색하면서 XE에서 그동안 있어왔던 csrf 보안 취약점 문제도 볼 수 있었고 많이는 아니더라도 조금이나마 공부의 시간이었어요.