Files
Gnuboard5/migrations/20260910_001_kcp_notification.sql
T
whitedot 7a80ae913d security: KVE-2026-2346 KCP 통보 검증과 입금·망취소 재처리 보강
테스트·운영 발신지와 결제 당시 상점·거래·계좌·금액을 대조하여 위조 입금 처리를 차단한다. 개인결제와 연결 주문의 중복 가산을 막고 통보 이력과 목표값으로 MyISAM/InnoDB 중간 실패를 재처리한다.

DB 마이그레이션과 기존 거래 적용·복구 안내를 추가했다. 격리 HTTP/MySQL 검사 420개, PHP 문법 검사와 설치 스키마 대조가 통과했다. 실제 KCP 연동 확인과 배포·KISA 회신은 별도 진행이 필요하다.
2026-09-10 05:17:59 +00:00

24 lines
1.1 KiB
SQL

-- @description KCP 통보 거래 바인딩 및 재통보 복구 이력 추가
-- @if-table-exists {{g5_shop_order_table}}
-- @if-column-missing {{g5_shop_order_table}} od_kcp_site_cd
ALTER TABLE `{{g5_shop_order_table}}` ADD `od_kcp_site_cd` varchar(5) NOT NULL DEFAULT '';
-- @if-table-exists {{g5_shop_personalpay_table}}
-- @if-column-missing {{g5_shop_personalpay_table}} pp_kcp_site_cd
ALTER TABLE `{{g5_shop_personalpay_table}}` ADD `pp_kcp_site_cd` varchar(5) NOT NULL DEFAULT '';
-- @if-table-exists {{g5_shop_default_table}}
-- @if-table-missing {{g5_shop_kcp_noti_table}}
CREATE TABLE `{{g5_shop_kcp_noti_table}}` (
`kn_key` char(64) NOT NULL,
`kn_trade` char(64) NOT NULL,
`kn_noti_id` varchar(20) NOT NULL,
`kn_op_cd` char(2) NOT NULL,
`kn_payload` char(64) NOT NULL,
`od_id` bigint(20) unsigned NOT NULL DEFAULT '0',
`kn_plan` mediumtext NOT NULL,
`kn_done` tinyint(4) NOT NULL DEFAULT '0',
`kn_created_at` datetime NOT NULL,
PRIMARY KEY (`kn_key`),
KEY `kn_trade` (`kn_trade`),
KEY `od_id` (`od_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;