[ajax] $.get으로 php를 불러올 때 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

[ajax] $.get으로 php를 불러올 때 정보

[ajax] $.get으로 php를 불러올 때

본문

if (!defined("_GNUBOARD_")) exit;
이거 ajax에서는 개별페이지로 인식이 되나봐요;

$.get으로 php를 불러와야되는데,
혹시나 사용자가 직접 .php 파일을 불러오면
문제가 될 수 있을것 같아서
해결방법 없을까요??
  • 복사

댓글 전체

ajax로 불러올 때는 /head.php를 읽지 않기 때문에 common.php에서 읽어 들이는 그누보드 기본 정보들을 사용 할 수 없습니다.
그래서 _GNUBOARD_라는 상수도 정의되지 않아서 exit를 실행하게 됩니다.
최상단에서 include("_common.php")를 불러와야 합니다.
그렇게 되면 if (!defined("_GNUBOARD_")) exit; 는 사실상 의미가 없기 때문에 삭제를 합니다.
include_once("./_common.php"); 도 넣었는데,

원래는 ajax 스크립트를 통해 $.get의 data를 통해서만 데이터가 전달이 되어야 하는데

크롬 개발자도구 네트워크를 보면 ajax의 url이 보이더군요.

그럼 어떤 사용자가 임의로 그 url 정보를 브라우저 url창을 통해

.php?q=a... 이런식으로 접근을 하게 된다면 의도하지 않은 쿼리가 실행되지 않을까 염려가 되더군요 ;;

그래서 오로지 ajax로만 접근을 하게끔 만들려고 하는데요.

그런 방법이 따로 있나 해서 질문을 드렸습니다 ^-^a;
아... 이를테면 프로세스 파일을 비공개로 하고 싶으신건가요? 그건 저도 방법이 딱 떠오르지 않네요. a 태그를 이용한 링크라던지 form으로 쿼리를 보낸다던지 ajax로 비동기 호출을 하더라도 프로세스 파일을 완벽하게 감추기는 어렵지 않나 생각이 됩니다.
주소창에서 직접 접근을 막고자 하시는 거라면 그누보드에서처럼 토큰 방식을 써보는 건 어떨까요?
common.lib.php 파일을 보시면 get_token, check_token 함수가 있는데 잘 활용하시면 원하시는 기능을 구현하실 수 있을 것고 같아요.
© SIRSOFT
현재 페이지 제일 처음으로