개별 페이지 접근 불가 문의
본문
index.php파일에서..
<? define('_INDEX_', true); ?>
<div id="test"></div>
<script>
$( "#test" ).load( "../load.php", { "id": id } );
</script>
이런식으로 load.php 파일을 불러오고 있는데요.
load.php 파일을 개별적으로 실행하면 exit 되도록 해주고 싶은데요.
load.php 파일에서.. 상단에..
아래처럼 넣어주면요..
<?
if (!defined('_INDEX_')) exit; // 개별 페이지 접근 불가
?>
load.php를 개별로 실행했을때 exit;가 되긴하는데요.
$( "#test" ).load( "../load.php", { "id": id } ); 이게 안먹혀요.ㅠㅠ
load.php로 불러오는 파일을 개별실행 불가하게 하려면 어떻게 해야 하는지요?
답변 1
해당 코드는 php 로 include 했을 경우입니다.
ajax로 로딩하면 아무것도 안뜨게 됩니다.
토큰을 생성해서 토큰값도 함께 보내서 비교하는 방법으로 해보세요.
그누보드에 이미 사용중인 방법입니다.
lib/common.lib.php
// 토큰 생성
function _token()
{
return md5(uniqid(rand(), true));
}
// 불법접근을 막도록 토큰을 생성하면서 토큰값을 리턴
function get_token()
{
$token = md5(uniqid(rand(), true));
set_session('ss_token', $token);
return $token;
}
// POST로 넘어온 토큰과 세션에 저장된 토큰 비교
function check_token()
{
set_session('ss_token', '');
return true;
}
그누보드 소스파일에 토큰으로 검색해 보세요.
답변을 작성하시기 전에 로그인 해주세요.