[jquery] load로 불러오는 페이지 개별실행 못하게 하기요

[jquery] load로 불러오는 페이지 개별실행 못하게 하기요

QA

[jquery] load로 불러오는 페이지 개별실행 못하게 하기요

답변 3

본문

제가 토큰을 같이 보내는 이유가요.

data.php 파일을 개별적으로 실행하지 못하게 하려는 것인데요~

 

<script>

$( "#data" ).load( "./data.php", { "token":"<?=$token?>" } );

</script>

 

data.php에서 아래처럼 해서 개별 실행을 못하게 했는데요.

$token = $_POST['token'];

if($token != get_session("ss_token")) exit;

 

그렇지만 소스보기해서 token을 복사한다음에..

POST로 복사한 토큰값을 보내면 페이지가 보이잖아요~

 

제가 뭔가를 빠뜨린 부분이 있는건가요?

아니면 이것이 최선인지요?

이 질문에 댓글 쓰기 :

답변 3

그누보드 5.3 이후 버전 /js/common.js 파일 중에 

get_write_token() 함수를 참고해서 만들어보세요.

 

./data.php를 호출할 때 token을 생성하면서 세션에 토큰값을 저장하고요.

data.php 에서 넘어온 토큰값과 세션의 토큰값을 매칭 후 정상 여부를 확인 후 세션의 토큰값을 삭제하시면 됩니다.

그러시면 해당 토큰을 재활용할 수 없습니다.

 

 

아래와 같은 형태로 개별실행 막아보세요.

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

개별적으로 실행하지 못하게 하려면 그냥 세션에 하나 넣어놓고

그걸 체크하면 될꺼같은데요

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로