security: KVE-2026-2140 주문 보호와 5.6.39 보안 업데이트 배포
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
/* 주문 임시저장 응답의 토큰은 현재 탭의 결제 폼에만 전달한다. */
|
||||
function g5_order_state_accept(xhr) {
|
||||
var token = xhr.getResponseHeader('X-G5-Order-State');
|
||||
if (!token || !/^[0-9]{1,20}\.[a-f0-9]{64}$/.test(token)) {
|
||||
return '결제 요청을 저장하지 못했습니다. 다시 시도해 주십시오.';
|
||||
}
|
||||
['forderform', 'sm_form', 'nhnkcp_pay_form'].forEach(function(name) {
|
||||
var form = document.forms[name];
|
||||
if (!form) return;
|
||||
var input = form.elements.g5_order_state;
|
||||
if (!input) {
|
||||
input = document.createElement('input');
|
||||
input.type = 'hidden'; input.name = 'g5_order_state'; form.appendChild(input);
|
||||
}
|
||||
input.value = token;
|
||||
});
|
||||
return '';
|
||||
}
|
||||
|
||||
function g5_order_state_url(url, form) {
|
||||
var input = form.elements.g5_order_state;
|
||||
if (!input || !/^[0-9]{1,20}\.[a-f0-9]{64}$/.test(input.value)) {
|
||||
throw new Error('결제 요청을 다시 저장해 주십시오.');
|
||||
}
|
||||
return url + (url.indexOf('?') < 0 ? '?' : '&') + 'g5_order_state=' + encodeURIComponent(input.value);
|
||||
}
|
||||
Reference in New Issue
Block a user