기존 비밀번호 확인 이력을 게시판·게시물·비밀번호에 결합하고 저장 전 검증한다. 인증은 30분 후 만료되며 저장 후 폐기한다. 일반 쓰기 토큰과 답변 세션으로 수정 인증을 대체할 수 없도록 한다. 1:1문의 토큰 발급을 로그인 회원의 해당 용도로 제한하고 게시판 토큰의 요청 경로와 대상을 확인한다. 최고관리자의 그누보드4 자료 이전은 유지한다. 검증: 비인증 수정 차단, 정상 비밀번호 변경 및 인증 폐기, 토큰 발급 엔드포인트 격리 검증과 PHP 문법 검사 통과.
17 lines
635 B
PHP
17 lines
635 B
PHP
<?php
|
|
include_once('./_common.php');
|
|
|
|
// 그누보드4 자료 이전은 최고관리자에게만 허용되는 별도 용도이다.
|
|
$is_import_token = $bo_table === 'g4_import' && $is_admin === 'super';
|
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST' || !$bo_table ||
|
|
(!$is_import_token && (empty($board['bo_table']) || $board['bo_table'] !== $bo_table)))
|
|
die(json_encode(array('error'=>'게시판 정보가 올바르지 않습니다.', 'url'=>G5_URL)));
|
|
|
|
check_request_origin();
|
|
|
|
set_session('ss_write_'.$bo_table.'_token', '');
|
|
|
|
$token = get_write_token($bo_table);
|
|
|
|
die(json_encode(array('error'=>'', 'token'=>$token, 'url'=>'')));
|