토큰 정보가 올바르지 않습니다. 오류해결을 찾습니다. 그누보드기반의 아보카도 에디션 사용중입니다.
본문
그누보드기반의 아보카도 에디션을 사용 중인데,
호스팅 서버 A에서 B로 이전을 하고 자료도 다 옮긴 상황인데 ...
A는 php5.2 (무료호스팅) / B는 php5.6 (유료호스팅) 환경입니다.
서버 버젼의 문제인가 싶어서 아보카도 에디션을 업그레이드 패치 해봤으나 여전히 토큰 정보가 올바르지 않다고 뜨고 ... ...
다른 이용자에게 물어보니 php 7버젼쪽에서도 아보카도 에디션이 잘 돌아간다고 하더라구요.
그래서 버젼의 문제는 아닌건가 싶은데 T.T ...
1. 쿠키 삭제 해봤습니다.
2. 아보카도 에디션 업데이트 패치 해봤습니다.
3. config.php 파일을 열어서
define('C5_COMAIN', '(주소');
define('C5_HTTPS_DOMAIN', '(주소');
해봤습니다. ( https://m.blog.naver.com/PostView.nhn?blogId=natkdals&logNo=221650912669&proxyReferer=https:%2F%2Fwww.google.com%2F 이 블로그 참고)
( 주소입력하는부분에 http:까지 전부 넣으면 여전히 토큰오류가 나고
http://를 빼고 .(주소).com같은 식으로 적용하면 토큰 정보 오류는 뜨지 않는 대신 홈페이지 자체가 오류 걸리고 올바른 방법으로 이용해 주십시오. 라는 오류가 뜨더라구요... )
4. 토큰 에러 사례와 해결 방법 (https://sir.kr/faq/97) 은 ... 제가 이쪽분야에 완전 쌩초보에다 괜히 개인홈을 만들고 싶은 욕심이 생겨서 어찌저찌했던거라 자바스크립트 에러가 뭔지도 이해를 못해 봐도 어떻게 해야할지 모르겠더라구요 T.T
일단 개발자도구(F12)를 켠뒤에 관리자 게시글?쪽에 링크 수정을 해서 토큰오류가 뜨는걸 확인했을때
딱히 에러가 뜨는 모습은 발견이 안되는거 같아요. 제가 에러를 찾는 방법을 몰라서 그런걸수도 있겠지만...
( div style은 화살표가 움직일때 하트가 나오는 값들인것 같습니다! 마우스를 가져다대니 하트가잡히더라구요 ... )
5. adm/admin.lib.php 파일이 문제? 라고 해결방법을 올려준 글도 봤는데 제것이랑은 소스가 달라서 함부로 건들지를 못하겠네요...
아래가 소스파일 일부입니다
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
// 불법접근을 막도록 토큰을 생성하면서 토큰값을 리턴
function get_admin_token()
{
$token = md5(uniqid(rand(), true));
set_session('ss_admin_token', $token);
return $token;
}
// POST로 넘어온 토큰과 세션에 저장된 토큰 비교
function check_admin_token()
{
$token = get_session('ss_admin_token');
set_session('ss_admin_token', '');
if(!$token || !$_REQUEST['token'] || $token != $_REQUEST['token'])
alert('올바른 방법으로 이용해 주십시오.', G5_URL);
return true;
}
// 관리자 페이지 referer 체크
function admin_referer_check($return=false)
{
$referer = trim($_SERVER['HTTP_REFERER']);
if(!$referer) {
$msg = '정보가 올바르지 않습니다.';
if($return)
return $msg;
else
alert($msg, G5_URL);
}
$p = @parse_url($referer);
$host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
if($host != $p['host']) {
$msg = '올바른 방법으로 이용해 주십시오.';
if($return)
return $msg;
else
alert($msg, G5_URL);
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
일단 계속 오류해결을 찾아다녀보겠지만 T.T 혹시라도 도움을 구할 수 있을까 싶어 글을 남깁니다...
감사합니다...
+6. bbs/delete.php 파일의
/*if ($is_admin)
{
if (!($token && get_session("ss_delete_token") == $token))
alert("토큰 에러로 삭제 불가합니다.");
}*/
부분 주석처리, 삭제 해도 안됨.
답변 3
보안인증서를 적용한 상태인가요?
어떤 상황인지 확인방법 ::: 쓰기 페이지에서
1. 소스보기해서 위쪽 20행쯤에 나오는 g5_bbs_url = <---이 값이 사용하는 도메인으로 맞게 나오는지 확인
2. <script>alert( get_write_token("<?php echo $bo_table?>");</script> <---경고창에 값이 나오는지 확인
3. <?php echo get_write_token($bo_table);?> <--값이 제대로 나오는지 확인
4. 위 상황을 보고 다시 질문
처음부터 php를 전혀 모르는 상황 이라고 질문을 했으면 다르게 답변을 했을 터인데..
첨부 이미지를 보니 관리자 페이지 같군요
화일명은 menu_list.php 인가요?
화일을 열어서 php가 끝난 부분 ?> <---이것 다음에 넣으세요
<?php echo "1 함수호출 ==>".get_admin_token();
echo "<br>";
echo "2 직접 생성 ==>".md5(uniqid(rand(), true));
?>
<script>alert( get_ajax_token() );</script>
각각 무엇이 나오는지 보세요