From bc07b8383e6a2c058030cf0779533564aa9ed4d0 Mon Sep 17 00:00:00 2001 From: thisgun Date: Fri, 24 Jul 2026 06:25:17 +0000 Subject: [PATCH] =?UTF-8?q?KG=EC=9D=B4=EB=8B=88=EC=8B=9C=EC=8A=A4=20INIpay?= =?UTF-8?q?=20PRO=20=EC=A3=BC=EB=AC=B8=EC=9E=90=20=EC=9D=B4=EB=A9=94?= =?UTF-8?q?=EC=9D=BC=20=ED=99=95=EC=9D=B8=20=ED=9B=84=20=EC=A0=84=EB=8B=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 주문서/개인결제 결제 시작 시 이메일 형식을 확인해 잘못된 경우 안내 후 중단 - 결제창 요청에서는 확인된 이메일만 선택 항목으로 전달해 결제가 막히지 않게 처리 Co-Authored-By: Claude Fable 5 --- shop/inicis/pro/inicis_pro.lib.php | 17 +++++++++++++++++ shop/inicis/pro/orderform.1.php | 24 ++++++++++++++++++++++++ shop/inicis/pro/request.php | 4 +++- 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/shop/inicis/pro/inicis_pro.lib.php b/shop/inicis/pro/inicis_pro.lib.php index 5b898008f..65b5ee239 100644 --- a/shop/inicis/pro/inicis_pro.lib.php +++ b/shop/inicis/pro/inicis_pro.lib.php @@ -117,6 +117,23 @@ if (!function_exists('inicis_pro_cut')) { } } +if (!function_exists('inicis_pro_valid_email')) { + function inicis_pro_valid_email($email) + { + $email = trim((string) $email); + if ($email === '' || strlen($email) > 60) + return false; + if (!preg_match('/^[0-9A-Za-z._%+-]+@([0-9A-Za-z-]+\.)+[A-Za-z]{2,}$/', $email)) + return false; + + $tld = strtolower(substr(strrchr($email, '.'), 1)); + if (in_array($tld, array('test', 'example', 'invalid', 'localhost', 'local'))) + return false; + + return true; + } +} + if (!function_exists('inicis_pro_clean_oid')) { function inicis_pro_clean_oid($oid) { diff --git a/shop/inicis/pro/orderform.1.php b/shop/inicis/pro/orderform.1.php index 1864f6dbb..4caae809d 100644 --- a/shop/inicis/pro/orderform.1.php +++ b/shop/inicis/pro/orderform.1.php @@ -12,11 +12,35 @@ if (G5_IS_MOBILE) { } ?>