[ajax] $.get으로 php를 불러올 때 정보
[ajax] $.get으로 php를 불러올 때
본문
if (!defined("_GNUBOARD_")) exit;
이거 ajax에서는 개별페이지로 인식이 되나봐요;
$.get으로 php를 불러와야되는데,
혹시나 사용자가 직접 .php 파일을 불러오면
문제가 될 수 있을것 같아서
해결방법 없을까요??
이거 ajax에서는 개별페이지로 인식이 되나봐요;
$.get으로 php를 불러와야되는데,
혹시나 사용자가 직접 .php 파일을 불러오면
문제가 될 수 있을것 같아서
해결방법 없을까요??
댓글 전체
아작스로 불러오는 php 파일 안에도,
그누보드 관련 공통 인클루드 파일들을 인클루드 시켜 놓아야 합니다.
그누보드 관련 공통 인클루드 파일들을 인클루드 시켜 놓아야 합니다.
ajax로 불러올 때는 /head.php를 읽지 않기 때문에 common.php에서 읽어 들이는 그누보드 기본 정보들을 사용 할 수 없습니다.
그래서 _GNUBOARD_라는 상수도 정의되지 않아서 exit를 실행하게 됩니다.
최상단에서 include("_common.php")를 불러와야 합니다.
그렇게 되면 if (!defined("_GNUBOARD_")) exit; 는 사실상 의미가 없기 때문에 삭제를 합니다.
그래서 _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;
원래는 ajax 스크립트를 통해 $.get의 data를 통해서만 데이터가 전달이 되어야 하는데
크롬 개발자도구 네트워크를 보면 ajax의 url이 보이더군요.
그럼 어떤 사용자가 임의로 그 url 정보를 브라우저 url창을 통해
.php?q=a... 이런식으로 접근을 하게 된다면 의도하지 않은 쿼리가 실행되지 않을까 염려가 되더군요 ;;
그래서 오로지 ajax로만 접근을 하게끔 만들려고 하는데요.
그런 방법이 따로 있나 해서 질문을 드렸습니다 ^-^a;
아... 이를테면 프로세스 파일을 비공개로 하고 싶으신건가요? 그건 저도 방법이 딱 떠오르지 않네요. a 태그를 이용한 링크라던지 form으로 쿼리를 보낸다던지 ajax로 비동기 호출을 하더라도 프로세스 파일을 완벽하게 감추기는 어렵지 않나 생각이 됩니다.
주소창에서 직접 접근을 막고자 하시는 거라면 그누보드에서처럼 토큰 방식을 써보는 건 어떨까요?
common.lib.php 파일을 보시면 get_token, check_token 함수가 있는데 잘 활용하시면 원하시는 기능을 구현하실 수 있을 것고 같아요.
주소창에서 직접 접근을 막고자 하시는 거라면 그누보드에서처럼 토큰 방식을 써보는 건 어떨까요?
common.lib.php 파일을 보시면 get_token, check_token 함수가 있는데 잘 활용하시면 원하시는 기능을 구현하실 수 있을 것고 같아요.