관리자 페이지 게시판 추가, 수정 시 토큰 에러 문제

관리자 페이지 게시판 추가, 수정 시 토큰 에러 문제

QA

관리자 페이지 게시판 추가, 수정 시 토큰 에러 문제

본문

안녕하세요.. 계속 박다 도저히 못 찾겠어서 질문드립니다. ㅜㅜ

 

지금까지의 확인 결과 board_form_update.php 의 10번째 라인 check_admin_token(); 에서 해당 메시지가 뜨는 것을 확인 했습니다.

-> check_admin_token(); exit();

 

현재 토큰과 REQUEST로 넘오는 토큰을 출력 해본 결과 두 토큰 모두 넘어 오지 못하는걸 확인했습니다.

->

function check_admin_token(){

$token = get_session('ss_admin_token');

echo $token." token <br>";
echo $_REQUEST['token']." token <br>";
exit();

~

}

 

토큰이 생성 되는 곳을 찾아 보다 admin.tail.php의 ajax 통신하는 부분을 확인 해 보았으나 이 부분은 코드를 이해하기 힘들어 호출하는 모든 js, php파일을 수정을 한 기억은 없지만 일단 그누보드 초기 코드로 원복 하였습니다.

 

세션 생성이 안되는 것인가 싶어 확인 해보았으나 data의 세션 폴더 권한 707인 것을 확인 하였고

다른 토큰이 필요한 작업(삭제, 로그인)은 정상 작동 합니다.  게시판 추가, 수정에서만 문제가 생기네요..

board_form.php, board_form_update.php, admin.lib.php, common.php, admin.tail.php 등 모든 파일을 원복 하였으나 같은 문제가 발생하네요.. 

 

서버 세팅이라던지, 코드 상에 더 확인 해볼만한 부분이 있을까요?

 

 

이 질문에 댓글 쓰기 :

답변 3

관리자 페이지를 최신버전으로 모두 업데이트 했는지 확인해 보세요.

 

글쓰는 순간 ajax로 토큰을 생성해서 form 아래에 hidden 으로 삽입합니다.

크롬 개발자 도구로 확인해 보세요.

글쓰는 페이지에서 토큰생성이 안되었다면 토큰오류가 계속 출력됩니다.

스크립트 오류도 발생하는지 살펴보세요.

admin.js

하단에 보시면

    $(document).on("click", "form input:submit", function() {

코드가 폼을 전송시 토큰 생성합니다. 버튼이 input type=submit 이어야 합니다.

 

브라우저 캐시도 삭제한번 해보세요.

 

커스텀된 어드민이라면 구버전이라서 오류가 날 수 있습니다.

 

추가로..

board_form.php 에서 해당 코드를 실행하면 token 값은 있지만 $_REQUEST를 얻어오진 못 합니다.


if($is_admin=='super'){
    $token=get_admin_token();
}
echo $token;
echo "token";
echo $_REQUEST['token'];
echo "token";
exit();

 

POST, GET으로만 작업하다 REQUEST는 다뤄 본적이 없는데 서버에서 세션? 값을 받아오는 것이 아닌가요? 어떻게 이해하면 될까요?

thumb-3717237551_1533695069.607_730x55.png

 

해결 되었습니다. 서버에 올라간 스마트 에디터가 구버전이였는지 lib파일에 .live 함수를 쓰고 있었네요...

live함수에서 터지면서 admin.tail을 타지 못해 토큰이 생성되지 않은 것으로 보입니다.

 

이것 저것 다 한다고 했는데 왜 크롬 관리자 한번 열어볼 생각을 안했는지... 답변 정말 감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 182
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT