채택완료

게시글 삭제 관련 코드 문의 드립니다.

안녕하세요.

수정버튼 옆으로 삭제버튼이 필요해서 AI가 알려준 코드를 적용해서
삭제를 할려니 "토큰 에러로 삭제 불가합니다." 이렇게 뜨면서 작동이 안 됩니다.
어떤 코드를 넣으면 될까요??


감사합니다.
|

답변 7개 / 댓글 7개

채택된 답변
+20 포인트

위에 안내된 $delete_href를 적용해도 계속 오류가 나면, 버튼 코드뿐 아니라 토큰이 만들어지고 소모되는 순서를 확인해 보세요.

현재 공식 그누보드5 소스에서는 로그인한 작성자·관리자의 글보기 진입 시 bbs/view.php에서 세션 토큰을 만들고 삭제 링크에 넣습니다. 다른 글을 새 탭에서 열면 같은 세션의 토큰이 바뀔 수 있어, 먼저 열어 둔 글의 삭제 링크가 오래된 값이 될 수 있습니다. 삭제 처리 파일은 토큰을 읽은 뒤 세션 값을 비우므로, 한 번 실패한 링크를 그대로 재시도해도 계속 실패할 수 있습니다.

우선 다른 글보기 탭을 닫고 대상 글을 새로고침한 뒤, 기본 스킨이 생성한 삭제 링크로 확인해 보세요. 확인은 삭제해도 되는 테스트 글로 진행하시는 것이 좋습니다. 이때는 정상이고 추가한 버튼에서만 실패하면, 직접 만든 delete.php 주소나 자바스크립트가 기본 링크의 token 값을 누락·변경하는지 비교하면 됩니다. 비회원 글은 비밀번호 확인 경로를 거치므로 모든 글을 같은 삭제 주소로 고정하면 안 됩니다.

계속 실패하면 같은 도메인·프로토콜에서 세션 쿠키가 유지되는지도 확인하세요. 토큰 검사를 지우거나 고정값으로 바꾸는 방식은 피하시고, 설치 버전과 버튼을 추가한 파일·코드를 올려 주시면 더 좁혀볼 수 있습니다. 토큰과 세션 쿠키 값은 가려 주세요.

확인 기준: 공식 저장소의 bbs/view.php와 bbs/delete.php입니다. 사용 중인 버전·테마에서는 구현이 다를 수 있습니다.

답변에 대한 댓글 1개

자세한 설명 감사합니다. 잘 찾아 볼게요.
<?php if ($delete_href) { ?>
<a href="<?php echo $delete_href; ?>"
   onclick="del(this.href); return false;">삭제</a>
<?php } ?>

답변에 대한 댓글 1개

댓글 감사합니다.
ai가 알려준 코드가 궁금하네요

답변에 대한 댓글 1개

댓글 감사합니다.

bbs/delete.php 파일에 

$token 값과

get_session('ss_delete_token')  값이 불일치 해서  그런건데요.

값이 같은지 echo 문으로 찍어보세요.

ai 가 token 값을 어떻게 넣었는지 확인이 필요해보입니다.

답변에 대한 댓글 1개

댓글 감사합니다.
그냥 
bbs/delete.php 참고하세요

답변에 대한 댓글 1개

댓글 감사합니다.
어떻게 소스가 되어 있는지 모르니 정확한 답변을 얻기는 힘들거 같습니다. 정확하게 어떤 부분에 어떻게 소스를 넣었는지 첨부를 하시면 도움 받기 쉬우실거 같습니다.

답변에 대한 댓글 1개

댓글 감사합니다.
토큰이 포함된 $delete_href를 쓰면 될 겁니다 :)

답변에 대한 댓글 1개

댓글 감사합니다.

답변을 작성하려면 로그인이 필요합니다.