답변 7개 / 댓글 7개
위에 안내된 $delete_href를 적용해도 계속 오류가 나면, 버튼 코드뿐 아니라 토큰이 만들어지고 소모되는 순서를 확인해 보세요.
현재 공식 그누보드5 소스에서는 로그인한 작성자·관리자의 글보기 진입 시 bbs/view.php에서 세션 토큰을 만들고 삭제 링크에 넣습니다. 다른 글을 새 탭에서 열면 같은 세션의 토큰이 바뀔 수 있어, 먼저 열어 둔 글의 삭제 링크가 오래된 값이 될 수 있습니다. 삭제 처리 파일은 토큰을 읽은 뒤 세션 값을 비우므로, 한 번 실패한 링크를 그대로 재시도해도 계속 실패할 수 있습니다.
우선 다른 글보기 탭을 닫고 대상 글을 새로고침한 뒤, 기본 스킨이 생성한 삭제 링크로 확인해 보세요. 확인은 삭제해도 되는 테스트 글로 진행하시는 것이 좋습니다. 이때는 정상이고 추가한 버튼에서만 실패하면, 직접 만든 delete.php 주소나 자바스크립트가 기본 링크의 token 값을 누락·변경하는지 비교하면 됩니다. 비회원 글은 비밀번호 확인 경로를 거치므로 모든 글을 같은 삭제 주소로 고정하면 안 됩니다.
계속 실패하면 같은 도메인·프로토콜에서 세션 쿠키가 유지되는지도 확인하세요. 토큰 검사를 지우거나 고정값으로 바꾸는 방식은 피하시고, 설치 버전과 버튼을 추가한 파일·코드를 올려 주시면 더 좁혀볼 수 있습니다. 토큰과 세션 쿠키 값은 가려 주세요.
확인 기준: 공식 저장소의 bbs/view.php와 bbs/delete.php입니다. 사용 중인 버전·테마에서는 구현이 다를 수 있습니다.
<a href="<?php echo $delete_href; ?>"
onclick="del(this.href); return false;">삭제</a>
<?php } ?>
bbs/delete.php 파일에
$token 값과
get_session('ss_delete_token') 값이 불일치 해서 그런건데요.
값이 같은지 echo 문으로 찍어보세요.
ai 가 token 값을 어떻게 넣었는지 확인이 필요해보입니다.
답변을 작성하려면 로그인이 필요합니다.