SMS 회원정보 업데이트 토큰 방식 불일치 수정
member_update.php 가 get_token()(HMAC) 으로 발급한 토큰을 member_update_run.php 가 check_admin_token()(세션) 으로 검증해 항상 불일치 → 오류 HTML 반환으로 AJAX JSON 파싱이 실패하던 문제 수정. sms_admin 의 다른 _run 들과 동일하게 검증측(check_admin_token)은 유지하고, 실행 시 ajax.token.php 로 세션 토큰을 발급받아 본 요청에 사용하도록 변경. check_admin_token 의 1회용 소거 특성상 재실행에도 견고함. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
e7c89675b6
commit
afd8b35423
1 file changed
+30
-14
@@ -4,8 +4,6 @@ include_once("./_common.php");
|
||||
|
||||
auth_check_menu($auth, $sub_menu, "r");
|
||||
|
||||
$token = get_token();
|
||||
|
||||
$g5['title'] = "회원정보 업데이트";
|
||||
|
||||
include_once(G5_ADMIN_PATH.'/admin.head.php');
|
||||
@@ -39,21 +37,39 @@ include_once(G5_ADMIN_PATH.'/admin.head.php');
|
||||
$( "#mb_update_form" ).submit(function( e ) {
|
||||
e.preventDefault();
|
||||
$("#res_msg").html('업데이트 중입니다. 잠시만 기다려 주십시오...');
|
||||
var params = { mtype : 'json', token : '<?php echo $token; ?>' };
|
||||
var action = $(this).attr("action");
|
||||
$.ajax({
|
||||
url: $(this).attr("action"),
|
||||
cache:false,
|
||||
timeout : 30000,
|
||||
dataType:"json",
|
||||
data:params,
|
||||
success: function(data) {
|
||||
if(data.error){
|
||||
alert( data.error );
|
||||
url: '<?php echo G5_ADMIN_URL; ?>/ajax.token.php',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: { admin_csrf_token_key: '<?php echo admin_csrf_token_key(1); ?>' },
|
||||
success: function(tokenData) {
|
||||
if(tokenData.error){
|
||||
alert(tokenData.error);
|
||||
$("#res_msg").html("");
|
||||
} else {
|
||||
$("#datetime").html( data.datetime );
|
||||
$("#res_msg").html( data.res_msg );
|
||||
return;
|
||||
}
|
||||
$.ajax({
|
||||
url: action,
|
||||
type: 'POST',
|
||||
cache:false,
|
||||
timeout : 30000,
|
||||
dataType:"json",
|
||||
data: { mtype : 'json', token : tokenData.token },
|
||||
success: function(data) {
|
||||
if(data.error){
|
||||
alert( data.error );
|
||||
$("#res_msg").html("");
|
||||
} else {
|
||||
$("#datetime").html( data.datetime );
|
||||
$("#res_msg").html( data.res_msg );
|
||||
}
|
||||
},
|
||||
error: function (xhr, ajaxOptions, thrownError) {
|
||||
alert(xhr.status);
|
||||
alert(thrownError);
|
||||
}
|
||||
});
|
||||
},
|
||||
error: function (xhr, ajaxOptions, thrownError) {
|
||||
alert(xhr.status);
|
||||
|
||||
Reference in new issue
Block a user