[jquery] load로 불러오는 페이지 개별실행 못하게 하기요
본문
제가 토큰을 같이 보내는 이유가요.
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; // 개별 페이지 접근 불가
개별적으로 실행하지 못하게 하려면 그냥 세션에 하나 넣어놓고
그걸 체크하면 될꺼같은데요
답변을 작성하시기 전에 로그인 해주세요.