본문으로 건너뛰기

바로구매 후 로그인 과정의 구매 진행 안내 개선

PHP 8 · GODO25
변경 파일 수: 1개
변경 파일 목록
1
변경 파일 코드
추가삭제
Component/Member/PageAccess.php+7-3
변경 전PageAccess.php
$returnUrl = preg_match('~member/login.php~', $request->getReturnUrl()) == 1 ? '' : $request->getReturnUrl();
if ($request->getDirectoryUri() == 'order' && ($request->getFileUri() == 'order.php' || $request->getFileUri() == 'order_ps.php')) {
$moveUrl = $pathHome . 'member/login.php?guestOrder=1&returnUrl=' . urlencode($request->getReturnUrl($returnUrl));
if (stripos($request->getReferer(), 'goodsNo=') !== false) {
$orderReferer = explode('=', $request->getReferer());
$moveUrl .= '&goodsNo=' . $orderReferer[1];
 
 
 
 
}
} else {
$moveUrl = $pathHome . 'member/login.php?returnUrl=' . urlencode($request->getReturnUrl($returnUrl));
 
변경 후PageAccess.php
$returnUrl = preg_match('~member/login.php~', $request->getReturnUrl()) == 1 ? '' : $request->getReturnUrl();
if ($request->getDirectoryUri() == 'order' && ($request->getFileUri() == 'order.php' || $request->getFileUri() == 'order_ps.php')) {
$moveUrl = $pathHome . 'member/login.php?guestOrder=1&returnUrl=' . urlencode($request->getReturnUrl($returnUrl));
// Referer 의 goodsNo 안전 추출 - '=' 다중 포함 시 explode 인덱스 오파싱(goodsNo=1 손상) 방지
$refererQuery = parse_url($request->getReferer(), PHP_URL_QUERY);
if (!empty($refererQuery)) {
parse_str($refererQuery, $refererParams);
if (!empty($refererParams['goodsNo']) && is_string($refererParams['goodsNo'])) {
$moveUrl .= '&goodsNo=' . urlencode($refererParams['goodsNo']);
}
}
} else {
$moveUrl = $pathHome . 'member/login.php?returnUrl=' . urlencode($request->getReturnUrl($returnUrl));