영카트 비회원 주문 조회 시 비밀번호 없이 주문번호로만 조회 할 수 있을까요? 채택완료
빙그르맛우유
1년 전
조회 3,795
질문은 아래 있습니다.
orderinquiry.php 입니다
</p>
<p><?php
include_once('./_common.php');</p>
<p>if (G5_IS_MOBILE) {
include_once(G5_MSHOP_PATH.'/orderinquiry.php');
return;
}</p>
<p>define("_ORDERINQUIRY_", true);</p>
<p>$order_info = array();
$request_pwd = isset($_POST['od_pwd']) ? $_POST['od_pwd'] : '';
$od_pwd = get_encrypt_string($request_pwd);
$od_id = isset($_POST['od_id']) ? safe_replace_regex($_POST['od_id'], 'od_id') : '';</p>
<p>// 회원인 경우
if ($is_member)
{
$sql_common = " from {$g5['g5_shop_order_table']} where mb_id = '{$member['mb_id']}' ";
}
else if ($od_id && $od_pwd) // 비회원인 경우 주문서번호와 비밀번호가 넘어왔다면
{
if( defined('G5_MYSQL_PASSWORD_LENGTH') && strlen($od_pwd) === G5_MYSQL_PASSWORD_LENGTH ) {
$sql_common = " from {$g5['g5_shop_order_table']} where od_id = '$od_id' and od_pwd = '$od_pwd' ";
} else {
$sql_common = " from {$g5['g5_shop_order_table']} where od_id = '$od_id' ";</p>
<p> $order_info = get_shop_order_data($od_id);
if (!check_password($request_pwd, $order_info['od_pwd'])) {
run_event('password_is_wrong', 'shop', $order_info);
alert('주문이 존재하지 않습니다.');
exit;
}</p>
<p> }
}
else // 그렇지 않다면 로그인으로 가기
{
goto_url(G5_BBS_URL.'/login.php?url='.urlencode(G5_SHOP_URL.'/orderinquiry.php'));
}</p>
<p>// 테이블의 전체 레코드수만 얻음
$sql = " select count(*) as cnt " . $sql_common;
$row = sql_fetch($sql);
$total_count = $row['cnt'];</p>
<p>// 비회원 주문확인시 비회원의 모든 주문이 다 출력되는 오류 수정
// 조건에 맞는 주문서가 없다면
if ($total_count == 0)
{
if ($is_member) // 회원일 경우는 메인으로 이동
alert('주문이 존재하지 않습니다.', G5_SHOP_URL);
else // 비회원일 경우는 이전 페이지로 이동
alert('주문이 존재하지 않습니다.');
}</p>
<p>$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함</p>
<p>
// 비회원 주문확인의 경우 바로 주문서 상세조회로 이동
if (!$is_member)
{
if( defined('G5_MYSQL_PASSWORD_LENGTH') && strlen($od_pwd) === G5_MYSQL_PASSWORD_LENGTH ) {
$sql = " select od_id, od_time, od_ip from {$g5['g5_shop_order_table']} where od_id = '$od_id' and od_pwd = '$od_pwd' ";
$row = sql_fetch($sql);
} else if( $order_info ){
if (check_password($request_pwd, $order_info['od_pwd'])) {
$row = $order_info;
}
}</p>
<p> if ($row['od_id']) {
$uid = md5($row['od_id'].$row['od_time'].$row['od_ip']);
set_session('ss_orderview_uid', $uid);
goto_url(G5_SHOP_URL.'/orderinquiryview.php?od_id='.$row['od_id'].'&uid='.$uid);
}
}</p>
<p>$g5['title'] = '주문내역조회';
include_once('./_head.php');
?></p>
<p><!-- 주문 내역 시작 { -->
<div id="sod_v">
<?php
$limit = " limit $from_record, $rows ";
include "./orderinquiry.sub.php";
?></p>
<p> <?php echo get_paging($config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr&page="); ?>
</div>
<!-- } 주문 내역 끝 --></p>
<p><?php
include_once('./_tail.php');</p>
<p>
1. 영카트 비회원 주문 조회 시 비밀번호 없이 주문번호로만 조회 할 수 있을까요?
만약 수정을 한다면 어떻게 하면 좋을지 알려주시면 정말 감사하겠습니다 선배님들
또한 다른 간단한 방법이 있으면 알려주시면 감사하겠습니다.
글 봐주셔서 정말 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
답변에 대한 댓글 2개
�
빙그르맛우유
1년 전
�
리오닥터
1년 전
비회원으로 가정하에 설명 드릴게요
예를들어서 a111222 라고 주문번호가 있어요 그럼 누군가 악의적으로 그대로 다 하나씩 매칭해서 주문번호를 통해 접속했어요 아님 우연히 접속을 하던지.. 그러면 딱 접속은 됐는데 아직 주문하기전단계라서 뭐 갯수를 변경하던지 일부 카드내역을 보려고 꼼수를 부리던지 이러한 상황이 여러 상황이 생길 수 있어서 왠만하면 그대로 사용하면 좋구요
근데 좀 방식을 단순하게 하고 싶으시면 주문번호, 성명, 이메일, 휴대폰번호를 통해서 확인할수있게 하는게 좋구요 비회원이라 해도 휴대폰번호인증후에 주문서를 확인할수있거나 아니면 이메일을 통해서 확인 할 수 있게 한게 나을것 같아요
예를들어서 a111222 라고 주문번호가 있어요 그럼 누군가 악의적으로 그대로 다 하나씩 매칭해서 주문번호를 통해 접속했어요 아님 우연히 접속을 하던지.. 그러면 딱 접속은 됐는데 아직 주문하기전단계라서 뭐 갯수를 변경하던지 일부 카드내역을 보려고 꼼수를 부리던지 이러한 상황이 여러 상황이 생길 수 있어서 왠만하면 그대로 사용하면 좋구요
근데 좀 방식을 단순하게 하고 싶으시면 주문번호, 성명, 이메일, 휴대폰번호를 통해서 확인할수있게 하는게 좋구요 비회원이라 해도 휴대폰번호인증후에 주문서를 확인할수있거나 아니면 이메일을 통해서 확인 할 수 있게 한게 나을것 같아요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
그렇다면 주문 할때 핸드폰 번호를 받는데 핸드폰 번호를 입력하게하면 될까요?