[KVE-2026-1806] 콘텐츠 include 경로 및 미완료주문 출력 처리 보강
콘텐츠 상단/하단 파일 경로를 저장 전에 먼저 정규화한 뒤 확장자와 위치를 검증하도록 순서를 조정한다. 정규화 과정에서 확장자가 사라져 검증을 우회하던 경로를 차단한다. 실행 직전 bbs/content.php 에서도 승인 확장자와 data 디렉터리 귀결 여부를 다시 확인하는 is_content_include_allowed() 를 적용하고, 콘텐츠 상단/하단 이미지 업로드는 이미지 파일만 허용하도록 검사한다. 미완료주문 상세의 결제방법 출력에 get_text() 인코딩을 적용하고, 임시주문 저장 시 정제한 결제수단 값을 원본에도 반영한다. 개인결제 주문 세션은 결제정보 검증을 통과한 뒤에만 설정한다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit 196255d76912531d7e13861821bd59ca15c967d1)
This commit is contained in:
1 parent
35acbfa750
commit
6571119db6
6 files changed
+65
-10
No files matched your search
@@ -16,8 +16,6 @@ if($default['de_pg_service'] == 'lg' && ! $post_lgd_paykey)
|
||||
if($default['de_pg_service'] == 'toss' && ! $paymentKey)
|
||||
alert('결제등록 요청 후 주문해 주십시오.', $page_return_url);
|
||||
|
||||
set_session('ss_order_id', $pp_id);
|
||||
|
||||
// 개인결제 정보
|
||||
$pp_check = false;
|
||||
$sql = " select * from {$g5['g5_shop_personalpay_table']} where pp_id = '{$pp_id}' and pp_use = '1' ";
|
||||
@@ -32,6 +30,9 @@ $hash_data = md5($pp_id.$good_mny.$pp['pp_time']);
|
||||
if($pp_id !== get_session('ss_personalpay_id') || $hash_data !== get_session('ss_personalpay_hash'))
|
||||
die('개인결제 정보가 올바르지 않습니다.');
|
||||
|
||||
// 개인결제 정보 검증을 통과한 뒤에만 주문 세션을 설정한다.
|
||||
set_session('ss_order_id', $pp_id);
|
||||
|
||||
// PG사의 가상계좌 또는 계좌이체의 자동 현금영수증 초기배열값
|
||||
$pg_receipt_infos = array(
|
||||
'od_cash' => 0,
|
||||
|
||||
Reference in new issue
Block a user