글 삭제 시 '토큰 에러로 삭제 불가합니다' 원인이 뭔가요?
본문
그누보드5 사용하고 있습니다.
관리자 아이디로 로그인 후 글 삭제 시 '토큰 에러로 삭제 불가합니다'
라는 메세지가 떠서
원인을 찾던 중 아래 두 파일에 도달하게 되었는데요.
/html/bbs/delete.php
/html/bbs/view.php
위 두파일은 수정한적이 없고요
// html/bbs/delete.php
if ($is_admin)
{
if (!($token && get_session('ss_delete_token') == $token))
alert('토큰 에러로 삭제 불가합니다.');
}
위 소스에서 $token 이 값과
get_session('ss_delete_token') 이 값이 다르게 나오는데
어디서 원인을 찾아봐야 하나요?
아니면 다른 원인이 있는건가요?
(다른 외부 스킨을 가져온적은 없습니다)
!-->답변 4
/html/bbs/view.php 파일의 80라인 근처에 아래 코드 유무를 확인해 보세요.
if ($is_admin)
{
set_session("ss_delete_token", $token = uniqid(time()));
$delete_href ='./delete.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&token='.$token.'&page='.$page.urldecode($qstr);
}
view.php 파일에서 아래 코드로 token 변수를 출력해 보세요.
echo $token;
그리고, delete.php 파일에서도 출력해서 비교해 보세요.
그리고, 세션 자체가 문제일 수 있으니
세션 폴더 안의 파일을 삭제하고 확인해 보시고 서버 용량도 확인해 보세요.
관리자모드에서 세션파일삭제를 실행해보세요
16년꺼긴 하지만,,,지금 똑같은상황에서 해결되서 써봐요~
저같은경우엔 delete.php 들어가보니
if ($is_admin)
{
if (!($token && get_session('ss_delete_token') == $token))
alert('토큰 에러로 삭제 불가합니다.');
} --->이렇게 되있었어요
이걸
$delete_token = get_session('ss_delete_token');
set_session('ss_delete_token', '');
if (!($token && $delete_token == $token))
// alert('토큰 에러로 삭제 불가합니다.');
이렇게 해봤는데 됬습니다. 주석처리 안하면 안되더라구여.. 그냥 결과만 뜨면된다 하면해보세욯