Compare commits

...
214 Commits
Author SHA1 Message Date
thisgun 762ef5aa18 버전 5.5.7.5 수정 2022-05-25 18:59:59 +09:00
thisgun 9466c3d23e object cache를 삭제하지 못할수있는 버그수정 #190 2022-05-25 18:57:16 +09:00
thisgun 148f7ac623 get_token_encryption_key함수에서 불필요한 코드 삭제 2022-05-25 18:27:51 +09:00
thisgun 89ea991443 php5.2 버전대에서 익명함수 처리와 불필요한 코드 주석처리 2022-05-25 18:01:24 +09:00
thisgun 9bfb3da926 이전 보안패치중 random_bytes 함수를 잘못 적용할 것을 다시 수정 2022-05-25 15:10:46 +09:00
thisgun 09ec2ac8cb 버전 5.5.7.4 수정 2022-05-24 16:00:17 +09:00
thisgun da2b6dafb3 세션고정취약점(버그게시판 글번호12095) 수정 2022-05-24 15:29:27 +09:00
thisgun 0a9f580c5b 버전 5.5.7.3 수정 2022-05-23 18:39:18 +09:00
thisgun f4aa0d0cd8 세션 폴더에 접근할수 문제 수정 및 세션 저장경로 수정#175 2022-05-23 18:37:23 +09:00
kagla 5a4ddbc455 버전 5.5.7.2 수정 2022-05-03 12:10:26 +09:00
kagla e2e06d4a23 게시판분류에서 '팅' 글자를 인식하지 못하여 패턴을 쌍따옴표로 수정 2022-05-03 12:10:02 +09:00
kagla b97565e387 버전 5.5.7.1 수정 2022-04-28 17:17:06 +09:00
kagla 7e3ad29696 form 입력값에서 space를 포함한 값이 넘어오는 경우가 있어 space 는 제외하고 replace 함 2022-04-28 17:14:59 +09:00
kagla 5981fd11bf Merge branch 'develop' 2022-04-28 16:41:11 +09:00
kagla 0645b8b2f4 버전 5.5.7 수정 2022-04-25 15:11:24 +09:00
kagla 3197f43be6 Merge branch 'develop' 2022-04-25 15:00:40 +09:00
seeoya 4bbaef4162 G5-20 주소 검색 중 화면 확대되지 않도록 수정 2022-04-21 14:43:47 +09:00
수영andGitHub d08fc856df Merge branch 'gnuboard:master' into master 2022-04-21 13:48:55 +09:00
kagla 97baa9d0db 버전 5.5.6 수정 2022-04-18 16:52:22 +09:00
projectSylasandkagla 11718eb4c0 [G5-80] 본인인증 비밀번호 찾기 후 비밀번호 변경 관련 수정 2022-04-18 16:51:53 +09:00
kagla 41e3c23f9e Merge branch '220418' into develop 2022-04-18 16:31:31 +09:00
kagla fdd2d30f4e $desc_name, $desc_phone Undefined variable 문제 해결 2022-04-18 12:04:00 +09:00
kagla 13bc72def7 ip2long으로 변환된 REMOTE_ADDR을 유추할수 없도록 md5(sha1(REMOTE_ADDR))로 처리함 (kjsman님,220418) 2022-04-18 11:47:22 +09:00
kagla 2457055514 $url 파라미터에 HTML Entity Number 형식으로 값이 넘어오는 경우의 XSS 취약점 해결 (woonge님,220415) 2022-04-15 10:16:44 +09:00
kagla 6449af2b57 모바일에서는 모바일 페이지당 라인수로 적용하도록 수정 (coDribble님,220414) 2022-04-14 16:01:25 +09:00
kagla 258f94e597 Reflected XSS 취약점 해결, Fixed Reflected XSS vulnerability (220408,hunter.dev/9o3) 2022-04-08 11:17:24 +09:00
kagla 6660a4adc1 admin_common 기본 훅 추가 (220408,티로그님) 2022-04-08 10:31:50 +09:00
kagla de72f42216 버전 5.5.5 수정 2022-04-07 15:49:13 +09:00
kagla 162ce82da0 Merge branch 'develop' 2022-04-07 15:48:11 +09:00
kagla 9ac9e01a51 [KVE-2022-0184] XSS 및 SQLInjection 취약점 해결을 위해 사용하지 않고 있던 "코드 중복검사" 기능 제거 2022-04-07 15:43:43 +09:00
seeoya eef8f32efe G5-77 shop.override.js 총 금액 표시 통일 작업 2022-04-07 15:32:21 +09:00
seeoya fd7121a215 G5-67 상품 목록 갤러리 스킨(40) 수정 2022-04-07 15:30:02 +09:00
seeoya 3999b86f9f G5-67 상품 목록 갤러리 스킨 복구, 리스트 스킨에서 사진 클릭 되도록 수정 2022-04-07 14:28:50 +09:00
kagla 38e732e71e KVE-2021-1277 Open Redirect 취약점 해결 2022-04-06 14:08:20 +09:00
수영andGitHub 7ab46223b5 Merge branch 'gnuboard:master' into master 2022-03-30 15:53:20 +09:00
kagla 7144c4f4be 모바일페이지에서의 직접 접근을 막아 KVE-2021-1888_Reflected XSS 취약점 해결 2022-03-22 12:52:36 +09:00
kagla 15d13e2fbc Merge branch 'develop' of github.com:gnuboard/gnuboard5 into develop 2022-03-22 12:51:28 +09:00
kagla 05035d6f6c 버전 5.5.4 수정 2022-03-21 10:43:23 +09:00
seeoya b4891ab773 G5-57 쇼핑몰 주문서 - 배송지 목록 버튼 padding 제거 2022-03-17 12:16:33 +09:00
kagla 84a065c31b host 가 inicis.com 의 주소가 아니라면 false 반환, XSS 취약점 해결 (03sunf님,220317) 2022-03-17 11:17:22 +09:00
kagla ae6190116f height 중복선언 해결 (냠냠이님,220316) 2022-03-16 17:20:31 +09:00
kagla 8021ebadf9 Proxy 서버나 로드밸런서 등에서는 HTTPS 접속시 HTTP_X_FORWARDED_PROTO 로 체크해야 하는 경우가 있음 2022-03-16 16:39:14 +09:00
kagla d79c3be7ba SQL 구문 오류 해결 2022-03-16 16:07:13 +09:00
kagla af3b1b69d3 Proxy 서버나 로드밸런서 등에서는 사용자의 IP가 REMOTE_ADDR 이 아닌 HTTP_X_FORWARDED_FOR 에 저장된 경우가 있음 2022-03-16 16:04:56 +09:00
kagla bdcf17dfc2 Warning: Trying to access array offset on value of type null 오류 수정 2022-03-15 15:19:59 +09:00
수영andGitHub 480fb98b32 Merge branch 'gnuboard:master' into master 2022-03-15 09:53:44 +09:00
kagla 30a2481145 Cross-site Scripting (XSS) 해결 (SeungHyunKim님,220311) 2022-03-11 11:08:13 +09:00
kagla cb61fa3045 #167 Security Report : Cross-Site Scripting 오류 해결 (P0cas님,220311) 2022-03-11 11:01:15 +09:00
kagla 4ad2f60c34 [보안패치] KVE-2021-1987_그누보드(영카트)preauth SQL Injection 취약점 해결, shop/event.php 를 거쳐서 접근하도록 수정 2022-03-07 16:45:23 +09:00
kagla 1a12ee8d2c Merge branch 'v554' into develop 2022-03-07 15:42:42 +09:00
kaglaandGitHub 0253508cd0 Merge pull request #81 from whitedot/ui-fix
UI 수정사항 반영
2022-03-07 14:56:43 +09:00
kaglaandGitHub d602b5e0c6 Merge pull request #150 from loves2tu/google-feed
구글 판매자센터 피드
2022-03-07 14:46:38 +09:00
kaglaandGitHub fff191fc60 Merge pull request #156 from seeoya/inicert
#155 버튼 스타일 변경
2022-03-07 14:41:14 +09:00
kaglaandGitHub b1d22acba8 Merge pull request #158 from 39hn/master
일부 모바일 페이지에서 테마 파일 체크 오류 수정
2022-03-07 14:34:52 +09:00
kaglaandGitHub eba2f45b6c Merge pull request #166 from seeoya/master
다음 쇼핑하우 URL 수정
2022-03-07 14:29:35 +09:00
kagla 1174193b43 버전 5.5.3.1 수정 2022-03-07 09:26:07 +09:00
kagla 07631e70d8 Fatal error: Uncaught Error: Undefined constant "get_session" 아이핀 사용시에 발생하는 치명적인 오류 수정 (미뜨아님,220307) 2022-03-07 09:24:35 +09:00
kagla 203ca4a8a2 버전 5.5.3 2022-03-04 11:15:36 +09:00
kagla 7d7c90bd84 Merge branch 'v5.5.3' 2022-03-04 10:59:05 +09:00
kagla 3e31ce3084 Merge branch 'toss' into v5.5.3 2022-03-04 10:58:27 +09:00
kagla 1123b667af Merge branch 'google_price' into v5.5.3 2022-03-04 10:57:12 +09:00
kagla 694e039b03 1:1문의 등에서 url 오류가 발생하여 사용하지 않는 것으로 추정되는 코드 주석 처리 (작은별님,220304) 2022-03-04 10:47:51 +09:00
kagla 432bf47757 영카트 쇼핑몰 설정 업데이트시 누락되었다고 추정되는 곳에 HOOK 코드 추가 (드렁크수달님,220303 2022-03-03 16:56:46 +09:00
kagla 430586e490 주문내역수정의 결제대행사 링크에 표시되는 LG유플러스를 토스페이먼츠로 수정 (해피정님,220303) 2022-03-03 16:27:42 +09:00
seeoya 95964e3aec G5-40 다음 쇼핑하우 URL 수정 2022-03-02 14:08:48 +09:00
kagla 40cd0362c1 Merge remote-tracking branch 'origin/google_price' into google_price 2022-02-28 16:21:02 +09:00
kagla 53b3308019 코리아크레딧뷰로 KCB 서비스 신청 중단, 기존 사용자님들을 위해 회원사ID 입력 박스만 유지 2022-02-28 16:02:13 +09:00
kagla e0bc3cce81 토스페이먼츠 휴대폰 본인확인 서비스 종료에 따른 설정 수정 2022-02-28 12:25:58 +09:00
kagla 3d57480fef 설치시 누락되어 있던 필수 필드 추가 2022-02-28 11:40:27 +09:00
kagla ff2421df5b 메뉴 삭제시 메뉴설정의 확인 버튼을 눌러 저장해야 한다는 메세지 추가 2022-02-23 16:50:00 +09:00
kagla 3247ae2388 mysqli_connect 오류시 "MySQL Host, User, Password, DB 정보에 오류가 있습니다." 메시지 출력 2022-02-23 16:48:41 +09:00
kagla 36baa2a6ab PHP8에서 Undefined array key "code" 오류 해결 2022-02-23 16:47:33 +09:00
kagla c1259af317 버전 5.5.2 수정 (이니시스 통합인증[간편인증] 추가) 2022-02-22 12:07:39 +09:00
kagla e9c4eda1d7 통합인증과 간편인증 용어의 혼란을 방지하기 위하여 통합인증(간편인증)으로
문구 변경
2022-02-22 12:03:20 +09:00
kagla ce8110a2c1 PHP8 에서 설치시 Undefined variable $tmp_bo_table 오류 해결 (주민님,220221) 2022-02-21 17:35:47 +09:00
kagla e70e4b6cd2 PHP8 회원아이디($mb_id) 정의되지 않은 변수 오류 해결 2022-02-17 17:09:09 +09:00
kagla 1e7a71cdbc PHP8에서 정의되지 않은 오류 해결 (무와보님,220216) 2022-02-16 15:35:42 +09:00
kagla cf08961f63 (KVE-2021-1250) SQL 취약점 및 PHP8 정의되지 않은 변수 오류 해결 2022-02-16 15:13:53 +09:00
kagla 725c88c449 통합인증에서 혼란을 방지하기 위하여 간편인증에 대한 안내문구 추가 2022-02-15 18:17:20 +09:00
jeonghs2015 ecd2b1c72a 버전 5.5.1 수정 (이니시스 간편인증 추가) 2022-02-15 16:54:47 +09:00
39hn 967b7cca18 일부 모바일 페이지에서 테마 파일 체크 오류 수정 2022-01-28 09:50:00 +09:00
seeoya ff74503bac #155 버튼 스타일 변경 2022-01-24 14:16:30 +09:00
kagla 524deac54a 버전 5.5.1-beta 수정 2022-01-19 15:47:15 +09:00
kagla 1440e6a790 Merge branch 'inicert' of github.com:gnuboard/gnuboard5 into inicert 2022-01-19 15:39:43 +09:00
형진andGitHub 7a6b0a3576 Merge pull request #151 from projectSylas/inicert
간편인증 : sa -> simple로 변경
2022-01-19 15:20:09 +09:00
projectSylas 1870a7d131 간편인증 : sa -> simple로 변경 2022-01-19 06:19:04 +00:00
loves2tu b8223d4409 구글 판매자센터 피드
- 상품 adult 관련 추가 수정
2022-01-19 06:16:31 +00:00
kaglaandGitHub 352f77d1d7 Merge pull request #135 from loves2tu/google-feed
구글 판매자센터 피드 xml 생성코드입니다.
2022-01-19 14:10:54 +09:00
형진andGitHub 6182fce3a0 Merge pull request #149 from projectSylas/inicert
통합인증 : hot-fix
2022-01-17 16:48:22 +09:00
projectSylas 4cc9e6b001 통합인증 : 비밀번호 찾기 alert 문구 수정 2022-01-17 06:52:03 +00:00
projectSylas c58122c573 Merge branch 'inicert' of https://github.com/gnuboard/gnuboard5 into inicert 2022-01-17 06:44:09 +00:00
projectSylas 8fd390c46c 통합인증 : 관련 이슈 수정
- 회원 직접 탈퇴 시 dupinfo 제거
- 본인인증 갱신 시 이전페이지로 이동하게 수정
- 본인인증 내역 기록 조건 수정
2022-01-17 06:43:55 +00:00
kagla ad48b6ba00 버전 5.4.22 수정 2022-01-17 14:53:39 +09:00
민섭andGitHub b1930b9ede Merge pull request #148 from seeoya/inicert
inicert 프론트 변경사항
2022-01-17 11:59:08 +09:00
seeoya 75174615c7 관리자 : 본인확인설정 - 회원정보찾기 항목 안내문구 추가, confirm 제거 2022-01-17 11:52:53 +09:00
민섭andGitHub f29d32a86c Merge pull request #147 from seeoya/inicert
Inicert 프론트 변경사항
2022-01-17 11:34:18 +09:00
seeoya 1044bb9d37 모바일 회원가입 - placeholder 문구 변경 2022-01-17 11:29:13 +09:00
seeoya 92529d9c1e 회원정보찾기/추가본인인증 페이지 버튼 스타일 변경 2022-01-17 11:27:54 +09:00
민섭andGitHub fa02b84889 Merge pull request #146 from seeoya/inicert
통합인증 : 추가 개인정보처리방침 안내에 필수 표시 추가, 체크박스 색상 변경
2022-01-13 17:57:44 +09:00
seeoya fefe11f321 통합인증 : 추가 개인정보처리방침 안내에 필수 표시 추가, 체크박스 색상 변경 2022-01-13 17:53:03 +09:00
민섭andGitHub cf156f5d9e Merge pull request #144 from seeoya/inicert
Inicert 프론트 변경사항
2022-01-11 18:04:44 +09:00
수영andGitHub 4f00321bcf Merge branch 'inicert' into inicert 2022-01-11 18:04:36 +09:00
seeoya 0898268692 새창 기본 스타일 - 버튼 가운데정렬 추가 2022-01-11 16:07:52 +09:00
seeoya 830cffefb0 통합인증 > 간편인증 문구 변경 2022-01-11 15:14:09 +09:00
seeoya 78f95c3182 ID/PW 찾기 박스 배경색 추가, 간격 추가 2022-01-11 15:03:01 +09:00
seeoya 7a8280af93 회원가입/정보수정 필수 항목 병기, 본인확인 시 자동입력 문구 추가, 체크박스 색상 변경 2022-01-11 14:50:26 +09:00
seeoya 7fe8d391d9 관리자 admin.css 파일의 오타 제거 (FreeMax님, 220106) 2022-01-10 14:30:46 +09:00
seeoya 21f4cf82a7 #133 쇼핑몰 상품문의, 사용후기 이동 시 해당 탭 활성화 (작은별님, 211229) 2022-01-10 14:29:58 +09:00
seeoya 7783027b58 #139 관리자 input에 좌우 여백 추가 2022-01-10 14:23:43 +09:00
seeoya 6e72dc7af4 사용후기 전체보기에서 관리자 답변이 보이지 않는 오류 수정 (작은별님, 220108) 2022-01-10 14:21:49 +09:00
seeoya 2f017e81a4 통합인증 : 버튼 클래스 추가 2022-01-10 13:37:27 +09:00
kagla 80a1c9ac48 버전 5.4.21 수정 2022-01-10 12:28:12 +09:00
kagla 6667adbef9 Merge branch 'thumbnail_file_delete' 2022-01-10 12:26:57 +09:00
kagla c0b790e7f9 Merge branch 'board_headtail' 2022-01-10 11:56:09 +09:00
형진andGitHub 71a908ebac Merge pull request #141 from projectSylas/inicert
통합인증 : 브라우저로 접근한 모바일에서도 정상적으로 작동하게끔 스크립트 수정
2022-01-07 14:06:06 +09:00
projectSylas ce7e5b2c3d 통합인증 : 브라우저로 접근한 모바일에서도 정상적으로 작동하게끔 스크립트 수정 2022-01-07 04:49:26 +00:00
kagla 27216e2135 KG이니시스 통합인증 UI 변경 및 PHP8 에서 나오는 오류 수정 2022-01-07 12:15:28 +09:00
형진andGitHub b2c930c547 Merge pull request #138 from projectSylas/inicert
본인인증갱신 : 갱신 쿼리 오류 수정
2022-01-06 10:57:52 +09:00
projectSylas 2f6096f6a8 본인인증갱신 : 갱신 쿼리 오류 수정 2022-01-06 01:56:46 +00:00
projectSylas f56b577c25 게시판관리에서 상단, 하단 파일 경로를 입력하지 않았다면 기본 상단, 하단
파일을 include 하지 않도록 수정 (작은별님,220105)
2022-01-05 16:29:56 +09:00
형진andGitHub 54103ddfe4 Merge pull request #137 from projectSylas/inicert
통합인증 이슈 수정
2022-01-05 11:12:53 +09:00
projectSylas c64fbaeb8e Merge branch 'master' of https://github.com/gnuboard/gnuboard5 into inicert 2022-01-05 02:07:17 +00:00
projectSylas 8bdf80e38c 본인인증 : 본인이아닌 타인이 인증할때 명의가 변경되지 못하게 수정 2022-01-05 01:50:57 +00:00
loves2tu d930791504 구글 판매자센터 피드
- 구글 쇼핑 파일이름, 파일 URL 관련 수정
2022-01-04 07:41:39 +00:00
loves2tu 57fc5353f1 구글 판매자센터 피드
- 테스트용 피드 삭제
2022-01-04 06:12:21 +00:00
projectSylas 9aa5d237a7 회원관리 : 회원 삭제시 본인인증 관련 정보 제거 2022-01-04 05:38:25 +00:00
projectSylas 033924f011 BBS : 게시판에서 본인확인 미사용시 비회원으로 접근하면 접근 불가능하던 이슈 수정 2022-01-04 05:37:31 +00:00
projectSylas ae29c976e6 통합인증 : 이름/핸드폰 인풋 밸류 조작시 해쉬값 체크 로직 추가 2022-01-04 05:36:16 +00:00
seeoya 2fc24b0746 구글 판매자센터 피드 항목 추가 2022-01-03 03:16:32 +00:00
loves2tu ebdd3b4390 구글 판매자센터 피드
- availability, adult 네임스페이스(g) 추가
2021-12-31 06:44:44 +00:00
loves2tu 4227039811 구글 판매자센터 피드
- 모든 옵션재고 중 1이상의 재고가 존재하는 경우 : in_stock
2021-12-31 06:32:14 +00:00
loves2tu 754b25191f Revert "구글 판매자센터 피드"
This reverts commit 8fbbae488b.
2021-12-31 06:18:08 +00:00
loves2tu 8fbbae488b 구글 판매자센터 피드
- 상품의 재고 & 상품옵션의 재고에 따른 재고값 수정
2021-12-31 06:03:15 +00:00
projectSylas 69b322144a 공지글 이동시 bo_notice 에서 글번호가 사라지지 않는 오류 수정 (ifelse님,211231) 2021-12-31 11:40:06 +09:00
loves2tu d97f27f2fa 구글 판매자센터 피드
- 상품 재고에 따른 out_of_stock 변경
2021-12-30 08:37:12 +00:00
loves2tu bddbcd5cdd 구글 판매자센터 피드
- query 수정 (table 조회 오류)
2021-12-30 05:42:30 +00:00
loves2tu 4c297a1e53 구글 판매자센터 피드
- 반복문 변수 오류 수정
2021-12-30 05:04:36 +00:00
loves2tu c82c33fc59 구글 판매자센터 피드
- 이미지 img1~10 존재여부 확인 후  image_link 생성
2021-12-29 06:29:16 +00:00
projectSylas 52f7eef288 공지글이 없을때 나오는 오류 Trying to access array offset on value of type null 수정 2021-12-29 11:37:29 +09:00
kaglaandprojectSylas 7d22399eac 버전 5.4.20 수정 2021-12-29 11:37:03 +09:00
loves2tu f25354b1b2 구글 판매자센터 피드
- 예외처리 추가 (it_id, it_name)
2021-12-28 05:46:48 +00:00
loves2tu daffdcbfce 구글 판매자센터 피드
- 다중카테도리 관련 성인인증 처리 수정
2021-12-28 05:16:19 +00:00
loves2tu 322e5cf83a 구글 판매자센터 피드
- 성인인증관련 category 조회 query 추가
2021-12-28 03:08:28 +00:00
loves2tu 7a2c29f192 구글 판매자센터 피드
- query 수정
 - 예외처리 추가
2021-12-27 05:56:08 +00:00
projectSylas 9af6991edd 그누보드만 사용하는 경우 썸네일 일괄삭제시 나오는 오류 수정 (МишаЧжан님,121227) 2021-12-27 09:50:55 +09:00
projectSylas 0ba6f3d861 통합인증 : die코드 제거 2021-12-24 08:01:20 +00:00
loves2tu 98b085e73e 구글 판매자센터 피드
- query 수정중
2021-12-23 02:09:11 +00:00
projectSylas 4305e6c8cc 통합인증 : kgcert를 inicert로 수정, 문구 kg -> ini로 수정 기존 인증버튼 여러개 -> 통합인증 하나로 통합 2021-12-22 05:51:24 +00:00
kagla a73967dd9a 버전 5.4.20 수정 2021-12-22 11:05:18 +09:00
kagla d941742b67 Merge branch 'total_cnt' of github.com:gnuboard/gnuboard5 into total_cnt 2021-12-22 10:59:30 +09:00
kagla 73a0f6ea80 Merge branch 'xss-pocas' 2021-12-22 10:57:49 +09:00
kagla 66d440f75e Merge branch 'xss-pocas' of github.com:gnuboard/gnuboard5 into xss-pocas 2021-12-22 10:57:19 +09:00
kagla 20c94e5b0a [보안패치] $kind 변수를 이용한 XSS 취약점 수정 (Pocas님,211214) 2021-12-22 10:56:51 +09:00
kagla f8480a41c8 중복된 </i> 태그 한개 삭제 (김철용님,211222) 2021-12-22 10:52:33 +09:00
kagla 26f6b802b7 SMS5 솔루션 설치시 불필요한 변수 삭제 (작은별님,211222) 2021-12-22 10:37:15 +09:00
loves2tu 8faa9ba9a2 구글 판매자센터 피드
- echo xml 생성 관련 코드 적용 중
2021-12-21 07:58:42 +00:00
projectSylas 72e041db10 dlab : kgcert를 inicert로 수정, 문구 kg -> ini로 수정 2021-12-21 07:41:14 +00:00
projectSylas bc8162f7fe Merge remote-tracking branch 'origin/master' into inicert 2021-12-21 04:59:20 +00:00
loves2tu f7aac7c467 구글 판매자센터 피드
- 상품 관련 query 작업중
2021-12-21 04:40:23 +00:00
projectSylas dfa677aadb 쇼핑몰 검색시 PC의 '전체분류'가 0으로 표시되는 오류 수정 (콜라시러님,211215)
전체분류가 앞에 나오도록 수정
2021-12-16 16:01:22 +09:00
kagla 2e81619ea8 $kind 변수를 이용한 XSS 취약점 수정 (Pocas님,211214) 2021-12-14 16:10:41 +09:00
kagla 796b6d9ab1 버전 5.4.19 수정 2021-12-09 10:48:40 +09:00
kagla d28c165fdf url에 타도메인을 지정할 수 있는 오류 수정 (Pocas님,211208) 2021-12-09 10:45:48 +09:00
kagla 80a71fef56 설치시 data/file/ 디렉토리에 기본게시판 디렉토리(free, gallery, notice, qa)가 만들어지지 않는 오류 수정 (작은별님,211206) 2021-12-08 12:28:56 +09:00
kagla 2144538f7e Merge branch 'visit_delete' 2021-12-08 11:03:57 +09:00
kagla d87802eb94 (KVE-2021-1846) url 값에 Line feed인 "%0A" 값을 삽입하여 전송하는 경우 check_url_host 함수 우회 취약점 수정 (Pocas님) 2021-12-08 10:38:18 +09:00
kagla 8c8bb94d68 접속자로그가 없을때 년도가 0부터 시작하는 것을 현재년도가 나오도록 수정 (다온테마님,211115) 2021-11-24 15:26:47 +09:00
projectSylas 7a054e1dbb .gitignore 에 pma 추가 2021-11-11 04:09:01 +00:00
kagla edb0b849d9 버전 5.4.18 수정 2021-10-25 11:15:26 +09:00
projectSylasandkagla 6ee9b1fbf2 PHP8에서 상단 파일 경로, 하단 파일 경로가 없을때 나오는 오류 수정 (루미집사님,211025) 2021-10-25 11:11:51 +09:00
kagla 413044ab06 이후 버전의 PHP에서는 class 에 속한 method(함수) 이름을 class 이름과 동일하게 만들 수 없습니다. 2021-10-25 11:11:51 +09:00
kagla 6148da1add $BANK_CODE 에 토스뱅크(92) 추가 2021-10-25 11:11:51 +09:00
kagla 9020d246b7 비밀 댓글 수정시 비밀글 해제가 되지 않는 오류를 수정 (한별아빠님,211022) 2021-10-25 11:11:50 +09:00
kagla de73f54959 신용카드 결제창에서 네이버페이를 지원하므로 상품상세페이지, 장바구니에서 더이상 네이버페이 직접결제를 지원하지 않음 2021-10-19 11:44:19 +09:00
kagla 9ada18ae56 버전 5.4.17 수정 2021-10-18 12:15:07 +09:00
kagla ddaf4f9794 Merge branch 'KVE-2021-0755' 2021-10-18 12:13:35 +09:00
kagla 920d5fc34c Merge branch 'KVE-2021-0849' 2021-10-18 12:13:00 +09:00
kagla 3a3434104c (KVE-2021-0755) 메뉴의 링크 기능을 이용한 XSS 취약점 수정 2021-10-15 16:40:04 +09:00
kagla 6dc462d784 (KVE-2021-0849) 확장자 .phar 파일 업로드 취약점 수정 2021-10-15 16:04:17 +09:00
kagla 24ba84d6f0 KG이니시스 가상계좌 사용시 안내문구 중 거래조회를 거래내역으로 수정 2021-10-14 14:49:20 +09:00
kagla 650ea16523 shop_is_taxsave 함수에 $od_pay_type 변수의 vbank, transfer 가 바뀌어 있는 것을 수정 (moons님,211014) 2021-10-14 14:47:32 +09:00
projectSylas 7be96449b8 버전 5.5.0.2-beta 수정 2021-10-12 04:39:05 +00:00
민섭andGitHub 3d7145c947 Merge pull request #124 from whitedot/inicert
관리자 : 회원 상세보기에서 본인인증 내역 확인 정리
2021-10-07 16:50:20 +09:00
whitedot eb812f32fb 관리자 : 회원 상세보기에서 본인인증 내역 확인 정리 2021-10-07 16:46:01 +09:00
형진andGitHub f3ef7efa91 Merge pull request #123 from projectSylas/inicert
회원관리 : 본인인증 내역 추가, 코드정리, 이슈해결
2021-10-07 15:46:00 +09:00
형진andGitHub 95e6296af1 Merge branch 'gnuboard:inicert' into inicert 2021-10-07 15:33:54 +09:00
projectSylas 707fceb694 소셜, 회원가입, 비밀번호찾기 : 카카오 버튼 추가, 스크립트 정리 2021-10-07 06:31:46 +00:00
projectSylas 950e3ff6c6 재인증 : 조건 위치 변경, 이동페이지 지정 2021-10-07 06:08:38 +00:00
projectSylas 5eb294eaff 게시판, 쇼핑몰 : 본인인증 알림 관련 조건, 변수 수정 2021-10-07 06:08:06 +00:00
projectSylas fc01d803f3 본인인증 내역 : 본인 인증시 회원별 히스토리 기록 테이블 추가, 기능 추가 2021-10-07 05:44:00 +00:00
projectSylas cbd9fc4a86 통합인증 : 코드정리 2021-10-06 08:10:45 +00:00
projectSylas 1be4ef9397 버전 5.5.0.1-beta 수정 2021-10-05 06:29:47 +00:00
형진andGitHub 05cb595439 Merge pull request #120 from projectSylas/inicert
회원가입 : 스킨별 인증 안내 출력 수정사항 반영
2021-10-05 14:58:11 +09:00
projectSylas c7f19057e5 회원가입 : 스킨별 인증 안내 출력 수정사항 반영 2021-10-05 05:56:15 +00:00
형진andGitHub 00cf4e5b48 Merge pull request #118 from seeoya/inicert
통합인증 : 본인확인 사용 시에만 아이디/비밀번호 찾기에 이용할 수 있도록 수정
2021-10-05 14:17:18 +09:00
seeoya 31201ba451 통합인증 : 본인확인 사용 시에만 아이디/비밀번호 찾기에 이용할 수 있도록 수정 2021-10-05 14:14:57 +09:00
projectSylas 6fe49ff106 상수 G5_SEO_TITEL_WORD_CUT 을 G5_SEO_TITLE_WORD_CUT 로 수정 (sinbi님,211005) 2021-10-05 02:17:34 +00:00
형진andGitHub a92ff130d5 통합인증 : 인증 안내 출력 조건 추가
통합인증 : 인증 안내 출력 조건 추가
2021-10-01 16:55:07 +09:00
projectSylas e5d24941ec 통합인증 : 인증 안내 출력 조건 추가 2021-10-01 07:54:11 +00:00
형진andGitHub f016870a7c Merge pull request #116 from seeoya/inicert
통합인증 관련 안내 추가
2021-10-01 16:32:58 +09:00
seeoya 247bfab4c0 통합인증 : 모바일 - 회원가입/소셜 회원가입 안내 줄바꿈 추가 2021-10-01 16:24:50 +09:00
seeoya 06ad2e7df1 Merge branch 'inicert' of https://github.com/seeoya/gnuboard5 into inicert 2021-10-01 16:20:43 +09:00
seeoya 82e27485fe 통합인증 : 회원가입/소셜 회원가입 본인인증 관련 안내 추가 2021-10-01 16:20:15 +09:00
seeoya 0b19dcecd1 통합인증 : 기존 회원 본인인증 페이지 섹션 스타일 변경 2021-10-01 16:01:37 +09:00
형진andGitHub b51e361e2a Merge pull request #115 from projectSylas/inicert
통합인증 : 특정사용자 구분코드 해제
2021-10-01 15:40:48 +09:00
형진andGitHub 3f9bc7367f Merge branch 'gnuboard:inicert' into inicert 2021-10-01 15:39:39 +09:00
projectSylas 7457a2e4ac 통합인증 : 특정사용자 구분코드 해제 2021-10-01 06:38:55 +00:00
형진andGitHub 44603fd145 Merge pull request #114 from projectSylas/inicert
본인확인 : submit form name 변경
2021-10-01 15:28:55 +09:00
projectSylas 5b3a895547 본인확인 : submit form name 변경 2021-10-01 06:24:28 +00:00
형진andGitHub 72382caafe Merge pull request #113 from seeoya/inicert
통합인증 관련 알림 문구 변경
2021-10-01 15:23:59 +09:00
seeoya 80716c838a 통합인증 : 비밀번호 재설정 페이지 알림 문구 변경 2021-10-01 15:22:35 +09:00
seeoya a82c43c31d 통합인증 : 기존 회원 본인인증 페이지 알림 문구 변경 2021-10-01 15:22:19 +09:00
whitedot c9fb4ff9d1 UI : 옵션 없는 상품에서 수량 변경할 때 UI 일관되게 표시되도록 수정 2021-07-07 16:46:06 +09:00
whitedot 6b52f0570d UI : 최신글 스킨 스타일시트에서 중복되는 속성값 제거 2021-07-07 16:34:10 +09:00
147 changed files with 1736 additions and 1468 deletions
+1
View File
@@ -17,3 +17,4 @@ naver*.html
initests01/
SIRsoft000/
config.php
pma/
+22
View File
@@ -7,4 +7,26 @@ if( isset($token) ){
$token = @htmlspecialchars(strip_tags($token), ENT_QUOTES);
}
if( ! function_exists('check_data_htaccess_file') ) {
function check_data_htaccess_file() {
$save_path = G5_DATA_PATH.'/.htaccess';
if( file_exists($save_path) && is_writable($save_path) ) {
$code = file_get_contents($save_path);
$add_code = 'RedirectMatch 403 /session/.*';
if( strpos($code, $add_code) === false ){
$fp = fopen($save_path, "ab");
flock( $fp, LOCK_EX );
fwrite( $fp, "\n\n" );
fwrite( $fp, $add_code );
fwrite( $fp, "\n\n" );
flock( $fp, LOCK_UN );
fclose($fp);
}
}
}
check_data_htaccess_file();
}
run_event('admin_common');
+35 -41
View File
@@ -283,11 +283,19 @@ if(!isset($config['cf_cert_find']) ){
ADD COLUMN `cf_cert_find` TINYINT(4) NOT NULL DEFAULT '0' AFTER `cf_cert_use`; ";
sql_query($sql, false);
}
// 통합인증 필드 추가
if(!isset($config['cf_cert_sa']) ){
// 간편인증 필드 추가
if(!isset($config['cf_cert_simple']) ){
$sql = "ALTER TABLE `{$g5['config_table']}`
ADD COLUMN `cf_cert_sa` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_hp`,
ADD COLUMN `cf_cert_kg_cd` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_sa`,
ADD COLUMN `cf_cert_simple` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_hp`; ";
sql_query($sql, false);
}
if(!isset($config['cf_cert_kg_cd']) ){
$sql = "ALTER TABLE `{$g5['config_table']}`
ADD COLUMN `cf_cert_kg_cd` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_simple`; ";
sql_query($sql, false);
}
if(!isset($config['cf_cert_kg_mid']) ){
$sql = "ALTER TABLE `{$g5['config_table']}`
ADD COLUMN `cf_cert_kg_mid` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_kg_cd`; ";
sql_query($sql, false);
}
@@ -849,15 +857,22 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<?php echo option_selected("1", $config['cf_cert_use'], "테스트"); ?>
<?php echo option_selected("2", $config['cf_cert_use'], "실서비스"); ?>
</select>
<input type="checkbox" name="cf_cert_find" id="cf_cert_find" value="1" <?php if($config['cf_cert_find'] == 1) { ?> checked <?php } ?>><label for="cf_cert_find">아이디/비밀번호 찾기에 사용하기</label>
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_cert_sa">통합인증</label></th>
<th scope="row" class="cf_cert_service"><label for="cf_cert_find">회원정보찾기</label></th>
<td class="cf_cert_service">
<select name="cf_cert_sa" id="cf_cert_sa">
<?php echo option_selected("", $config['cf_cert_sa'], "사용안함"); ?>
<?php echo option_selected("sa", $config['cf_cert_sa'], "KG이니시스 통합인증"); ?>
<?php echo help('휴대폰/아이핀 본인확인을 이용하시다가 간편인증을 이용하시는 경우, 기존 회원은 아이디/비밀번호 찾기에 사용할 수 없을 수 있습니다.') ?>
<input type="checkbox" name="cf_cert_find" id="cf_cert_find" value="1" <?php if (isset($config['cf_cert_find']) && $config['cf_cert_find'] == 1) { ?> checked <?php } ?>><label for="cf_cert_find"> 아이디/비밀번호 찾기에 사용하기</label>
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_cert_simple">통합인증(간편인증)</label></th>
<td class="cf_cert_service">
<?php echo help('KG이니시스의 통합인증(간편인증+전자서명) 서비스에서 전자서명을 제외한 간편인증 서비스 입니다. <a href="https://www.inicis.com/all-auth-service" target="_blank"><u>KG이니시스 통합인증 안내</u></a>') ?>
<select name="cf_cert_simple" id="cf_cert_simple">
<?php echo option_selected("", $config['cf_cert_simple'], "사용안함"); ?>
<?php echo option_selected("inicis", $config['cf_cert_simple'], "KG이니시스 통합인증(간편인증)"); ?>
</select>
</td>
</tr>
@@ -868,7 +883,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<?php echo option_selected("", $config['cf_cert_hp'], "사용안함"); ?>
<?php echo option_selected("kcb", $config['cf_cert_hp'], "코리아크레딧뷰로(KCB) 휴대폰 본인확인"); ?>
<?php echo option_selected("kcp", $config['cf_cert_hp'], "NHN KCP 휴대폰 본인확인"); ?>
<?php echo option_selected("lg", $config['cf_cert_hp'], "LG유플러스 휴대폰 본인확인"); ?>
</select>
</td>
</tr>
@@ -882,22 +896,24 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_cert_kg_cd">KG이니시스 통합인증</label></th>
<th scope="row" class="cf_cert_service"><label for="cf_cert_kg_cd">KG이니시스 간편인증 MID</label></th>
<td class="cf_cert_service">
<span class="sitecode title">MID</span>
<span class="sitecode">SRA</span>
<input type="text" name="cf_cert_kg_mid" value="<?php echo get_sanitize_input($config['cf_cert_kg_mid']); ?>" id="cf_cert_kg_mid" class="frm_input" size="20" minlength="7" maxlength="7"><br>
<br>
<span class="sitecode title">API Key</span>
<input type="text" name="cf_cert_kg_cd" value="<?php echo get_sanitize_input($config['cf_cert_kg_cd']); ?>" id="cf_cert_kg_cd" class="frm_input" size="40">
<input type="text" name="cf_cert_kg_mid" value="<?php echo get_sanitize_input($config['cf_cert_kg_mid']); ?>" id="cf_cert_kg_mid" class="frm_input" size="10" minlength="7" maxlength="7">
<a href="http://sir.kr/main/service/inicis_cert_form.php" target="_blank" class="btn_frmline">KG이니시스 통합인증(간편인증) 신청페이지</a>
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_cert_kg_cd">KG이니시스 간편인증 API KEY</label></th>
<td class="cf_cert_service">
<input type="text" name="cf_cert_kg_cd" value="<?php echo get_sanitize_input($config['cf_cert_kg_cd']); ?>" id="cf_cert_kg_cd" class="frm_input" size="40" minlength="32" maxlength="32">
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_cert_kcb_cd">코리아크레딧뷰로<br>KCB 회원사ID</label></th>
<td class="cf_cert_service">
<?php echo help('KCB 회원사ID를 입력해 주십시오.<br>서비스에 가입되어 있지 않다면, KCB와 계약체결 후 회원사ID를 발급 받으실 수 있습니다.<br>이용하시려는 서비스에 대한 계약을 아이핀, 휴대폰 본인확인 각각 체결해주셔야 합니다.<br>아이핀 본인확인 테스트의 경우에는 KCB 회원사ID가 필요 없으나,<br>휴대폰 본인확인 테스트의 경우 KCB 에서 따로 발급 받으셔야 합니다.') ?>
<input type="text" name="cf_cert_kcb_cd" value="<?php echo get_sanitize_input($config['cf_cert_kcb_cd']); ?>" id="cf_cert_kcb_cd" class="frm_input" size="20"> <a href="http://sir.kr/main/service/b_ipin.php" target="_blank" class="btn_frmline">KCB 아이핀 서비스 신청페이지</a>
<a href="http://sir.kr/main/service/b_cert.php" target="_blank" class="btn_frmline">KCB 휴대폰 본인확인 서비스 신청페이지</a>
<input type="text" name="cf_cert_kcb_cd" value="<?php echo get_sanitize_input($config['cf_cert_kcb_cd']); ?>" id="cf_cert_kcb_cd" class="frm_input" size="20">
</td>
</tr>
<tr>
@@ -908,25 +924,10 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<input type="text" name="cf_cert_kcp_cd" value="<?php echo get_sanitize_input($config['cf_cert_kcp_cd']); ?>" id="cf_cert_kcp_cd" class="frm_input" size="3"> <a href="http://sir.kr/main/service/p_cert.php" target="_blank" class="btn_frmline">NHN KCP 휴대폰 본인확인 서비스 신청페이지</a>
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_lg_mid">LG유플러스 상점아이디</label></th>
<td class="cf_cert_service">
<?php echo help('LG유플러스 상점아이디 중 si_를 제외한 나머지 아이디만 입력해 주십시오.<br>서비스에 가입되어 있지 않다면, 본인확인 서비스 신청페이지에서 서비스 신청 후 상점아이디를 발급 받으실 수 있습니다.<br><strong>LG유플러스 휴대폰본인확인은 ActiveX 설치가 필요하므로 Internet Explorer 에서만 사용할 수 있습니다.</strong>') ?>
<span class="sitecode">si_</span>
<input type="text" name="cf_lg_mid" value="<?php echo get_sanitize_input($config['cf_lg_mid']); ?>" id="cf_lg_mid" class="frm_input" size="20"> <a href="http://sir.kr/main/service/lg_cert.php" target="_blank" class="btn_frmline">LG유플러스 본인확인 서비스 신청페이지</a>
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_lg_mert_key">LG유플러스 MERT KEY</label></th>
<td class="cf_cert_service">
<?php echo help('LG유플러스 상점MertKey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실 수 있습니다.') ?>
<input type="text" name="cf_lg_mert_key" value="<?php echo get_sanitize_input($config['cf_lg_mert_key']); ?>" id="cf_lg_mert_key" class="frm_input" size="40">
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_cert_limit">본인확인 이용제한</label></th>
<td class="cf_cert_service">
<?php echo help('1일 단위 본인인증을 시도할 수 있는 최대횟수를 지정합니다. (0으로 설정 시 무한으로 인증시도 가능)<br>아이핀/휴대폰/통합인증에서 개별 적용됩니다.)'); ?>
<?php echo help('1일 단위 본인인증을 시도할 수 있는 최대횟수를 지정합니다. (0으로 설정 시 무한으로 인증시도 가능)<br>아이핀/휴대폰/간편인증에서 개별 적용됩니다.)'); ?>
<input type="text" name="cf_cert_limit" value="<?php echo (int) $config['cf_cert_limit']; ?>" id="cf_cert_limit" class="frm_input" size="3"> 회
</td>
</tr>
@@ -1423,13 +1424,6 @@ $(function(){
}
});
$("#cf_cert_find").on("click", function() {
if($(this).attr("checked")) {
let flag = confirm("휴대폰/아이핀 본인확인을 이용하시다가 통합인증을 이용하시는 경우, 기존 회원은 아이디/비밀번호 찾기에 사용할 수 없을 수 있습니다.\n\n그래도 사용하시겠습니까?");
$(this).attr("checked", flag);
};
});
$("#cf_captcha").on("change", function(){
if ($(this).val() == 'recaptcha' || $(this).val() == 'recaptcha_inv') {
$("[class^='kcaptcha_']").hide();
+6 -8
View File
@@ -22,7 +22,7 @@ check_admin_token();
$cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : '';
$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret','cf_cert_kg_cd','cf_cert_kg_mid');
$check_keys = array('cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret','cf_cert_kg_cd','cf_cert_kg_mid');
foreach( $check_keys as $key ){
if ( isset($_POST[$key]) && $_POST[$key] ){
@@ -102,7 +102,7 @@ $check_keys = array(
'cf_cert_find' => 'int',
'cf_cert_ipin' => 'char',
'cf_cert_hp' => 'char',
'cf_cert_sa' => 'char',
'cf_cert_simple' => 'char',
'cf_admin_email' => 'char',
'cf_admin_email_name' => 'char',
'cf_add_script' => 'text',
@@ -173,13 +173,13 @@ foreach( $check_keys as $k => $v ){
}
// 본인확인을 사용할 경우 아이핀, 휴대폰인증 중 하나는 선택되어야 함
if($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp'] && !$_POST['cf_cert_sa'])
alert('본인확인을 위해 아이핀, 휴대폰 본인확인, KG이니시스 통합인증 서비스 중 하나이상 선택해 주십시오');
if($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp'] && !$_POST['cf_cert_simple'])
alert('본인확인을 위해 아이핀, 휴대폰 본인확인, KG이니시스 간편인증 서비스 중 하나 이상 선택해 주십시오.');
if(!$_POST['cf_cert_use']) {
$posts[$key] = $_POST['cf_cert_ipin'] = '';
$posts[$key] = $_POST['cf_cert_hp'] = '';
$posts[$key] = $_POST['cf_cert_sa'] = '';
$posts[$key] = $_POST['cf_cert_simple'] = '';
}
$sql = " update {$g5['config_table']}
@@ -280,13 +280,11 @@ $sql = " update {$g5['config_table']}
cf_cert_find = '{$_POST['cf_cert_find']}',
cf_cert_ipin = '{$_POST['cf_cert_ipin']}',
cf_cert_hp = '{$_POST['cf_cert_hp']}',
cf_cert_sa = '{$_POST['cf_cert_sa']}',
cf_cert_simple = '{$_POST['cf_cert_simple']}',
cf_cert_kg_cd = '{$_POST['cf_cert_kg_cd']}',
cf_cert_kg_mid = '".trim($_POST['cf_cert_kg_mid'])."',
cf_cert_kcb_cd = '{$_POST['cf_cert_kcb_cd']}',
cf_cert_kcp_cd = '{$_POST['cf_cert_kcp_cd']}',
cf_lg_mid = '{$_POST['cf_lg_mid']}',
cf_lg_mert_key = '{$_POST['cf_lg_mert_key']}',
cf_cert_limit = '{$_POST['cf_cert_limit']}',
cf_cert_req = '{$_POST['cf_cert_req']}',
cf_sms_use = '{$_POST['cf_sms_use']}',
+4 -5
View File
@@ -178,7 +178,7 @@ a.btn_submit{background:#ff4081;color:#fff}
.btn_add01 {text-align:right}
.btn_add01 a, .btn_add01 button {padding:10px;border:1px solid #ccc;background:#f0f0f0;text-decoration:none;cursor:pointer}
.btn_add01 a {display:inline-block;vertical-align:middle}btn_confirm
.btn_add01 a {display:inline-block;vertical-align:middle}
.btn_add01 button {margin:0}
@@ -208,7 +208,7 @@ a.btn_ov02:hover,a.ov_listall:hover{background:#3f51b5}
/*form*/
.sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;width:1px !important;height:1px !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
.frm_input{height:35px;line-height:32px;border:1px solid #d5d5d5;}
.frm_input{padding:0 5px;height:35px;line-height:32px;border:1px solid #d5d5d5;}
.frm_input_full{width:100%}
.required{background:url('../img/wrest.gif') top right no-repeat #fff !important}
select{height:35px;line-height:32px;border:1px solid #d5d5d5;}
@@ -905,10 +905,8 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right}
.new_win_ul {margin:-20px 0 20px 0;padding:0 0 0 20px;border-bottom:1px solid #515151;background:#484848;list-style:none;zoom:1}
.new_win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win_ul li {float:left;margin-left:-1px}
.new_win_ul a {display:block;padding:10px 10px 8px;border-right:1px solid #595959;border-left:1px solid #595959;color:#fff;font-family:dotum;font-weight:bold;text-decoration:none}
.new_win_desc {margin:0 }
.new_win .anchor {margin:0 0 5px}
@@ -918,12 +916,13 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right}
.new_win .win_btn a {display:inline-block;padding:0 10px;height:30px;background:#4b545e;color:#fff;vertical-align:middle;line-height:2.4em}
.new_win .win_btn a:focus, .new_win .win_btn a:hover {text-decoration:none}
.new_win .local_sch, .new_win .local_cmd, .new_win .local_desc01, .new_win .local_desc02, .new_win .local_ov {margin:10px}
.new_win_con{margin: 10px; background:#fff;padding:20px}
.new_win_con .table_form table th{width:120px}
.new_win .btn_confirm {text-align:center;}
/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
+63 -5
View File
@@ -96,9 +96,9 @@ else
// 본인확인방법
switch($mb['mb_certify']) {
case 'sa':
$mb_certify_case = '통합인증';
$mb_certify_val = 'sa';
case 'simple':
$mb_certify_case = '간편인증';
$mb_certify_val = 'simple';
break;
case 'hp':
$mb_certify_case = '휴대폰';
@@ -173,6 +173,31 @@ if(!isset($mb['mb_email_certify2'])) {
sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_email_certify2` varchar(255) NOT NULL DEFAULT '' AFTER `mb_email_certify` ", false);
}
// 본인인증 내역 테이블 정보가 dbconfig에 없으면 소셜 테이블 정의
if( !isset($g5['member_cert_history']) ){
$g5['member_cert_history_table'] = G5_TABLE_PREFIX.'member_cert_history';
}
// 멤버 본인인증 정보 변경 내역 테이블 없을 경우 생성
if(isset($g5['member_cert_history_table']) && !sql_query(" DESC {$g5['member_cert_history_table']} ", false)) {
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['member_cert_history_table']}` (
`ch_id` int(11) NOT NULL auto_increment,
`mb_id` varchar(20) NOT NULL DEFAULT '',
`ch_name` varchar(255) NOT NULL DEFAULT '',
`ch_hp` varchar(255) NOT NULL DEFAULT '',
`ch_birth` varchar(255) NOT NULL DEFAULT '',
`ch_type` varchar(20) NOT NULL DEFAULT '',
`ch_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ch_id`),
KEY `mb_id` (`mb_id`)
) ", true);
}
$mb_cert_history = '';
if (isset($mb_id) && $mb_id) {
$sql = "select * from {$g5['member_cert_history_table']} where mb_id = '{$mb_id}' order by ch_id asc";
$mb_cert_history = sql_query($sql);
}
if ($mb['mb_intercept_date']) $g5['title'] = "차단된 ";
else $g5['title'] .= "";
$g5['title'] .= '회원 '.$html_title;
@@ -237,8 +262,8 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<tr>
<th scope="row">본인확인방법</th>
<td colspan="3">
<input type="radio" name="mb_certify_case" value="sa" id="mb_certify_sa" <?php if($mb['mb_certify'] == 'sa') echo 'checked="checked"'; ?>>
<label for="mb_certify_sa">통합인증</label>
<input type="radio" name="mb_certify_case" value="simple" id="mb_certify_sa" <?php if($mb['mb_certify'] == 'simple') echo 'checked="checked"'; ?>>
<label for="mb_certify_sa">간편인증</label>
<input type="radio" name="mb_certify_case" value="hp" id="mb_certify_hp" <?php if($mb['mb_certify'] == 'hp') echo 'checked="checked"'; ?>>
<label for="mb_certify_hp">휴대폰</label>
<input type="radio" name="mb_certify_case" value="ipin" id="mb_certify_ipin" <?php if($mb['mb_certify'] == 'ipin') echo 'checked="checked"'; ?>>
@@ -346,6 +371,39 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
<th scope="row"><label for="mb_memo">메모</label></th>
<td colspan="3"><textarea name="mb_memo" id="mb_memo"><?php echo $mb['mb_memo'] ?></textarea></td>
</tr>
<tr>
<th scope="row"><label for="mb_cert_history">본인인증 내역</label></th>
<td colspan="3">
<?php
$cnt = 0;
while ($row = sql_fetch_array($mb_cert_history)) {
$cnt++;
switch($row['ch_type']){
case 'simple':
$cert_type = '간편인증';
break;
case 'hp':
$cert_type = '휴대폰';
break;
case 'ipin':
$cert_type = '아이핀';
break;
}
?>
<div>
[<?php echo $row['ch_datetime']; ?>]
<?php echo $row['mb_id']; ?> /
<?php echo $row['ch_name']; ?> /
<?php echo $row['ch_hp']; ?> /
<?php echo $cert_type; ?>
</div>
<?php } ?>
<?php if ($cnt == 0) { ?>
본인인증 내역이 없습니다.
<?php } ?>
</td>
</tr>
<?php if ($w == 'u') { ?>
<tr>
+4 -4
View File
@@ -194,8 +194,8 @@ $colspan = 16;
$mb_certify_case = '아이핀';
$mb_certify_val = '';
break;
case 'sa':
$mb_certify_case = '통합인증';
case 'simple':
$mb_certify_case = '간편인증';
$mb_certify_val = '';
break;
case 'admin':
@@ -240,8 +240,8 @@ $colspan = 16;
?>
</td>
<td headers="mb_list_cert" rowspan="2" class="td_mbcert">
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="sa" id="mb_certify_sa_<?php echo $i; ?>" <?php echo $row['mb_certify']=='sa'?'checked':''; ?>>
<label for="mb_certify_sa_<?php echo $i; ?>">통합인증</label><br>
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="simple" id="mb_certify_sa_<?php echo $i; ?>" <?php echo $row['mb_certify']=='simple'?'checked':''; ?>>
<label for="mb_certify_sa_<?php echo $i; ?>">간편인증</label><br>
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="hp" id="mb_certify_hp_<?php echo $i; ?>" <?php echo $row['mb_certify']=='hp'?'checked':''; ?>>
<label for="mb_certify_hp_<?php echo $i; ?>">휴대폰</label><br>
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="ipin" id="mb_certify_ipin_<?php echo $i; ?>" <?php echo $row['mb_certify']=='ipin'?'checked':''; ?>>
+1 -1
View File
@@ -140,7 +140,7 @@ $(function() {
});
$(document).on("click", ".btn_del_menu", function() {
if(!confirm("메뉴를 삭제하시겠습니까?"))
if(!confirm("메뉴를 삭제하시겠습니까?\n메뉴 삭제후 메뉴설정의 확인 버튼을 눌러 메뉴를 저장해 주세요."))
return false;
var $tr = $(this).closest("tr");
+2 -1
View File
@@ -15,7 +15,7 @@ sql_query($sql);
$group_code = null;
$primary_code = null;
$count = count($_POST['code']);
$count = isset($_POST['code']) ? count($_POST['code']) : 0;
for ($i=0; $i<$count; $i++)
{
@@ -26,6 +26,7 @@ for ($i=0; $i<$count; $i++)
}
$_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags(clean_xss_attributes(preg_replace('/[ ]{2,}|[\t]/', '', $_POST['me_link'][$i]), 1)) : '';
$_POST['me_link'][$i] = html_purifier($_POST['me_link'][$i]);
$code = is_array($_POST['code']) ? strip_tags($_POST['code'][$i]) : '';
$me_name = is_array($_POST['me_name']) ? strip_tags($_POST['me_name'][$i]) : '';
+2
View File
@@ -9,4 +9,6 @@ if (!defined('G5_USE_SHOP') || !G5_USE_SHOP)
include_once(G5_ADMIN_PATH.'/admin.lib.php');
include_once('./admin.shop.lib.php');
run_event('admin_common');
check_order_inicis_tmps();
-2
View File
@@ -157,7 +157,6 @@ else {
<form name="fcategoryform" action="./categoryformupdate.php" onsubmit="return fcategoryformcheck(this);" method="post" enctype="multipart/form-data">
<input type="hidden" name="codedup" value="<?php echo $default['de_code_dup_use']; ?>">
<input type="hidden" name="w" value="<?php echo $w; ?>">
<input type="hidden" name="sst" value="<?php echo $sst; ?>">
<input type="hidden" name="sod" value="<?php echo $sod; ?>">
@@ -184,7 +183,6 @@ else {
<?php if ($w == "") { ?>
<?php echo help("자동으로 보여지는 분류코드를 사용하시길 권해드리지만 직접 입력한 값으로도 사용할 수 있습니다.\n분류코드는 나중에 수정이 되지 않으므로 신중하게 결정하여 사용하십시오.\n\n분류코드는 2자리씩 10자리를 사용하여 5단계를 표현할 수 있습니다.\n0~z까지 입력이 가능하며 한 분류당 최대 1296가지를 표현할 수 있습니다.\n그러므로 총 3656158440062976가지의 분류를 사용할 수 있습니다."); ?>
<input type="text" name="ca_id" value="<?php echo $subid; ?>" id="ca_id" required class="required frm_input" size="<?php echo $sublen; ?>" maxlength="<?php echo $sublen; ?>">
<!-- <?php if ($default['de_code_dup_use']) { ?><a href="javascript:;" onclick="codedupcheck(document.getElementById('ca_id').value)">코드 중복검사</a><?php } ?> -->
<?php } else { ?>
<input type="hidden" name="ca_id" value="<?php echo $ca['ca_id']; ?>">
<span class="frm_ca_id"><?php echo $ca['ca_id']; ?></span>
-20
View File
@@ -1,20 +0,0 @@
<?php
include_once('./_common.php');
$name = '';
if ($it_id)
{
$row = get_shop_item($it_id, true);
$code = $it_id;
$name = $row['it_name'];
}
else if ($ca_id)
{
$sql = " select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' ";
$row = sql_fetch($sql);
$code = $ca_id;
$name = $row['ca_name'];
}
echo '{ "code": "' . $code . '", "name": "' . $name . '" }';
+3 -8
View File
@@ -625,7 +625,7 @@ if(!$default['de_kakaopay_cancelpwd']){
<tr id="inicis_vbank_url" class="pg_vbank_url">
<th scope="row">KG이니시스 가상계좌 입금통보 URL</th>
<td>
<?php echo help("KG이니시스 가상계좌 사용시 다음 주소를 <strong><a href=\"https://iniweb.inicis.com/\" target=\"_blank\">KG이니시스 관리자</a> &gt; 거래조회 &gt; 가상계좌 &gt; 입금통보방식선택 &gt; URL 수신 설정</strong>에 넣으셔야 상점에 자동으로 입금 통보됩니다."); ?>
<?php echo help("KG이니시스 가상계좌 사용시 다음 주소를 <strong><a href=\"https://iniweb.inicis.com/\" target=\"_blank\">KG이니시스 관리자</a> &gt; 거래내역 &gt; 가상계좌 &gt; 입금통보방식선택 &gt; URL 수신 설정</strong>에 넣으셔야 상점에 자동으로 입금 통보됩니다."); ?>
<?php echo G5_SHOP_URL; ?>/settle_inicis_common.php</td>
</tr>
<tr>
@@ -919,6 +919,7 @@ if(!$default['de_kakaopay_cancelpwd']){
<input type="text" name="de_kakaopay_hashkey" value="<?php echo get_sanitize_input($default['de_kakaopay_hashkey']); ?>" id="de_kakaopay_hashkey" class="frm_input" size="20">
</td>
</tr>
<?php if (defined('G5_SHOP_DIRECT_NAVERPAY') && G5_SHOP_DIRECT_NAVERPAY) { ?>
<tr class="naver_info_fld">
<th scope="row">
<label for="de_naverpay_mid">네이버페이 가맹점 아이디</label>
@@ -982,6 +983,7 @@ if(!$default['de_kakaopay_cancelpwd']){
<input type="text" name="de_naverpay_sendcost" value="<?php echo get_sanitize_input($default['de_naverpay_sendcost']); ?>" id="de_naverpay_sendcost" class="frm_input" size="70">
</td>
</tr>
<?php } // defined('G5_SHOP_DIRECT_NAVERPAY') ?>
<tr>
<th scope="row">에스크로 사용</th>
<td>
@@ -1396,13 +1398,6 @@ if(!$default['de_kakaopay_cancelpwd']){
<?php echo get_member_level_select('de_level_sell', 1, 10, $default['de_level_sell']); ?>
</td>
</tr>
<tr>
<th scope="row"><label for="de_code_dup_use">코드 중복검사</label></th>
<td>
<?php echo help("분류, 상품 등을 추가할 때 자동으로 코드 중복검사를 하려면 체크하십시오."); ?>
<input type="checkbox" name="de_code_dup_use" value="1" id="de_code_dup_use"<?php echo $default['de_code_dup_use']?' checked':''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="de_cart_keep_term">장바구니 보관기간</label></th>
<td>
+10 -6
View File
@@ -427,17 +427,19 @@ $sql = " update {$g5['g5_shop_default_table']}
de_kakaopay_enckey = '{$de_kakaopay_enckey}',
de_kakaopay_hashkey = '{$de_kakaopay_hashkey}',
de_kakaopay_cancelpwd = '{$de_kakaopay_cancelpwd}',
de_naverpay_mid = '{$de_naverpay_mid}',
de_naverpay_cert_key = '{$de_naverpay_cert_key}',
de_naverpay_button_key = '{$de_naverpay_button_key}',
de_naverpay_test = '{$de_naverpay_test}',
de_naverpay_mb_id = '{$de_naverpay_mb_id}',
de_naverpay_sendcost = '{$de_naverpay_sendcost}',
de_member_reg_coupon_use = '{$de_member_reg_coupon_use}',
de_member_reg_coupon_term = '{$de_member_reg_coupon_term}',
de_member_reg_coupon_price = '{$de_member_reg_coupon_price}',
de_member_reg_coupon_minimum = '{$de_member_reg_coupon_minimum}'
";
if (defined('G5_SHOP_DIRECT_NAVERPAY') && G5_SHOP_DIRECT_NAVERPAY) {
$sql .= " ,de_naverpay_mid = '{$de_naverpay_mid}',
de_naverpay_cert_key = '{$de_naverpay_cert_key}',
de_naverpay_button_key = '{$de_naverpay_button_key}',
de_naverpay_test = '{$de_naverpay_test}',
de_naverpay_mb_id = '{$de_naverpay_mb_id}',
de_naverpay_sendcost = '{$de_naverpay_sendcost}' ";
}
sql_query($sql);
// 환경설정 > 포인트 사용
@@ -456,6 +458,8 @@ $sql = " update {$g5['config_table']}
cf_lg_mert_key = '{$cf_lg_mert_key}' ";
sql_query($sql);
run_event('shop_admin_configformupdate');
if( $warning_msg ){
alert($warning_msg, "./configform.php");
} else {
-33
View File
@@ -210,7 +210,6 @@ if(!sql_query(" select it_skin from {$g5['g5_shop_item_table']} limit 1", false)
<form name="fitemform" action="./itemformupdate.php" method="post" enctype="MULTIPART/FORM-DATA" autocomplete="off" onsubmit="return fitemformcheck(this)">
<input type="hidden" name="codedup" value="<?php echo $default['de_code_dup_use']; ?>">
<input type="hidden" name="w" value="<?php echo $w; ?>">
<input type="hidden" name="sca" value="<?php echo $sca; ?>">
<input type="hidden" name="sst" value="<?php echo $sst; ?>">
@@ -333,11 +332,8 @@ if(!sql_query(" select it_skin from {$g5['g5_shop_item_table']} limit 1", false)
<th scope="row">상품코드</th>
<td colspan="2">
<?php if ($w == '') { // 추가 ?>
<!-- 최근에 입력한 코드(자동 생성시)가 목록의 상단에 출력되게 하려면 아래의 코드로 대체하십시오. -->
<!-- <input type=text class=required name=it_id value="<?php echo 10000000000-time()?>" size=12 maxlength=10 required> <a href='javascript:;' onclick="codedupcheck(document.all.it_id.value)"><img src='./img/btn_code.gif' border=0 align=absmiddle></a> -->
<?php echo help("상품의 코드는 10자리 숫자로 자동생성합니다. <b>직접 상품코드를 입력할 수도 있습니다.</b>\n상품코드는 영문자, 숫자, - 만 입력 가능합니다."); ?>
<input type="text" name="it_id" value="<?php echo time(); ?>" id="it_id" required class="frm_input required" size="20" maxlength="20">
<!-- <?php if ($default['de_code_dup_use']) { ?><button type="button" class="btn_frmline" onclick="codedupcheck(document.all.it_id.value)">중복검사</a><?php } ?> -->
<?php } else { ?>
<input type="hidden" name="it_id" value="<?php echo $it['it_id']; ?>">
<span class="frm_ca_id"><?php echo $it['it_id']; ?></span>
@@ -1782,35 +1778,6 @@ $(function() {
});
<?php } ?>
function codedupcheck(id)
{
if (!id) {
alert('상품코드를 입력하십시오.');
f.it_id.focus();
return;
}
var it_id = id.replace(/[A-Za-z0-9\-_]/g, "");
if(it_id.length > 0) {
alert("상품코드는 영문자, 숫자, -, _ 만 사용할 수 있습니다.");
return false;
}
$.post(
"./codedupcheck.php",
{ it_id: id },
function(data) {
if(data.name) {
alert("코드 '"+data.code+"' 는 '".data.name+"' (으)로 이미 등록되어 있으므로\n\n사용하실 수 없습니다.");
return false;
} else {
alert("'"+data.code+"' 은(는) 등록된 코드가 없으므로 사용하실 수 있습니다.");
document.fitemform.codedup.value = '';
}
}, "json"
);
}
function fitemformcheck(f)
{
if (!f.ca_id.value) {
+1 -1
View File
@@ -505,7 +505,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
switch($od['od_pg']) {
case 'lg':
$pg_url = 'http://pgweb.uplus.co.kr';
$pg_test = 'LG유플러스';
$pg_test = '토스페이먼츠';
if ($default['de_card_test']) {
$pg_url = 'http://pgweb.uplus.co.kr/tmert';
$pg_test .= ' 테스트 ';
+20 -2
View File
@@ -33,7 +33,7 @@ $pg_anchor = '<ul class="anchor">
<p>사이트 명을 클릭하시면 해당 사이트로 이동합니다.</p>
<dl class="price_engine">
<dt><a href="http://shopping.naver.com/" target="_blank">네이버 지식쇼핑</a></dt>
<dt><a href="http://shopping.naver.com/" target="_blank">네이버쇼핑</a></dt>
<dd>
<ul>
<li>입점 안내 : <a href="http://join.shopping.naver.com/join/intro.nhn" target="_blank">http://join.shopping.naver.com/join/intro.nhn</a></li>
@@ -41,10 +41,28 @@ $pg_anchor = '<ul class="anchor">
<li>요약상품 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/naver_summary.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/naver_summary.php</a></li>
</ul>
</dd>
<dt><a href="" target="_blank">구글 쇼핑</a></dt>
<dd>
<ul>
<li>구글 Merchant Center : <a href="https://www.google.com/intl/ko_kr/retail/solutions/merchant-center" target="_blank">https://www.google.com/intl/ko_kr/retail/solutions/merchant-center</a></li>
<li>파일 이름 : google_feed.php</a></li>
<li>파일 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/google_feed.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/google_feed.php</a></li>
</ul>
</dd>
<dt>Feed 설명</dt>
<dd>
<ul>
<li>판매국가 <b>대한민국</b>, 언어 <b>한국어</b> 설정 기준입니다.</li>
<li>기본 피드 이름 : 쇼핑몰피드</li>
<li>상품 설명 : <b>it_basic</b> (상품기본설명을 필수 입력해주세요. HTML 태그는 자동 제거됩니다.)</li>
</ul>
</dd>
<dt><a href="http://shopping.daum.net/" target="_blank">다음 쇼핑하우</a></dt>
<dd>
<ul>
<li>입점 안내 : <a href="http://commerceone.biz.daum.net/join/intro.daum" target="_blank">http://commerceone.biz.daum.net/join/intro.daum</a></li>
<li>입점 안내 : <a href="https://shopping.biz.daum.net/join/main" target="_blank">https://shopping.biz.daum.net/join/main</a></li>
<li>전체상품 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/daum.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/daum.php</a></li>
<li>요약상품 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/daum_summary.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/daum_summary.php</a></li>
</ul>
-5
View File
@@ -61,11 +61,6 @@ for ($i=0; $i<count($f); $i++) {
echo "<script>document.getElementById('sms5_job_01').innerHTML='전체 테이블 생성 완료';</script>";
flush(); usleep(50000);
$read_point = -1;
$write_point = 5;
$comment_point = 1;
$download_point = -20;
//-------------------------------------------------------------------------------------------------
// config 테이블 설정
$sql = " insert into {$g5['sms5_book_group_table']} set bg_name='미분류'";
+1 -1
View File
@@ -19,7 +19,7 @@ include_once('./admin.head.php');
$directory = array();
$dl = array('file', 'editor');
if( defined('G5_YOUNGCART_VER') ){
if (defined('G5_USE_SHOP') && G5_USE_SHOP) {
$dl[] = 'item';
}
+3
View File
@@ -13,6 +13,9 @@ $row = sql_fetch($sql);
$min_year = (int)substr($row['min_date'], 0, 4);
$now_year = (int)substr(G5_TIME_YMD, 0, 4);
if (!$min_year) {
$min_year = $now_year;
}
?>
<div class="local_ov01 local_ov">
+13 -28
View File
@@ -55,30 +55,23 @@ if ((isset($wr_id) && $wr_id) || (isset($wr_seo_title) && $wr_seo_title)) {
}
// 본인확인을 사용한다면
if ($config['cf_cert_use'] && !$is_admin) {
if ($board['bo_use_cert'] != '' && $config['cf_cert_use'] && !$is_admin) {
// 인증된 회원만 가능
if ($board['bo_use_cert'] != '' && $is_guest) {
if ($is_guest) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&amp;url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
if ($board['bo_use_cert'] && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
goto_url(G5_BBS_URL."/member_cert_refresh.php");
if (strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
goto_url(G5_BBS_URL."/member_cert_refresh.php?url=".urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
if ($board['bo_use_cert'] && !$member['mb_certify']) {
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
}
if ($board['bo_use_cert'] && !$member['mb_adult']) {
if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) {
alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
}
// if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
// alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
// }
// if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
// alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
// }
}
// 자신의 글이거나 관리자라면 통과
@@ -151,31 +144,23 @@ if ((isset($wr_id) && $wr_id) || (isset($wr_seo_title) && $wr_seo_title)) {
}
// 본인확인을 사용한다면
if ($config['cf_cert_use'] && !$is_admin) {
if ($board['bo_use_cert'] != '' && $config['cf_cert_use'] && !$is_admin) {
// 인증된 회원만 가능
if ($board['bo_use_cert'] != '' && $is_guest) {
if ($is_guest) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&amp;url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
if ($board['bo_use_cert'] && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
goto_url(G5_BBS_URL."/member_cert_refresh.php");
if (strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
goto_url(G5_BBS_URL."/member_cert_refresh.php?url=".urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
if ($board['bo_use_cert'] && !$member['mb_certify']) {
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
}
if ($board['bo_use_cert'] && !$member['mb_adult']) {
if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) {
alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
}
// if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
// alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
// }
// if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
// alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
// }
}
if (!isset($page) || (isset($page) && $page == 0)) $page = 1;
+7 -4
View File
@@ -7,10 +7,13 @@ if (G5_IS_MOBILE) {
include_once(G5_BBS_PATH.'/_head.php');
echo html_purifier(stripslashes($board['bo_mobile_content_head']));
} else {
if(is_include_path_check($board['bo_include_head'])) { //파일경로 체크
@include ($board['bo_include_head']);
} else { //파일경로가 올바르지 않으면 기본파일을 가져옴
include_once(G5_BBS_PATH.'/_head.php');
// 상단 파일 경로를 입력하지 않았다면 기본 상단 파일도 include 하지 않음
if (trim($board['bo_include_head'])) {
if (is_include_path_check($board['bo_include_head'])) { //파일경로 체크
@include ($board['bo_include_head']);
} else { //파일경로가 올바르지 않으면 기본파일을 가져옴
include_once(G5_BBS_PATH.'/_head.php');
}
}
echo html_purifier(stripslashes($board['bo_content_head']));
}
+7 -4
View File
@@ -8,9 +8,12 @@ if (G5_IS_MOBILE) {
include_once(G5_BBS_PATH.'/_tail.php');
} else {
echo html_purifier(stripslashes($board['bo_content_tail']));
if(is_include_path_check($board['bo_include_tail'])) { //파일경로 체크
@include ($board['bo_include_tail']);
} else { //파일경로가 올바르지 않으면 기본파일을 가져옴
include_once(G5_BBS_PATH.'/_tail.php');
// 하단 파일 경로를 입력하지 않았다면 기본 하단 파일도 include 하지 않음
if (trim($board['bo_include_tail'])) {
if (is_include_path_check($board['bo_include_tail'])) { //파일경로 체크
@include ($board['bo_include_tail']);
} else { //파일경로가 올바르지 않으면 기본파일을 가져옴
include_once(G5_BBS_PATH.'/_tail.php');
}
}
}
+1 -1
View File
@@ -96,7 +96,7 @@ if (!$is_search_bbs) {
$row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}' ");
if (!$row['wr_id']) continue;
if (!isset($row['wr_id']) || !$row['wr_id']) continue;
$notice_array[] = $row['wr_id'];
+2
View File
@@ -64,6 +64,8 @@ run_event('login_session_before', $mb, $is_social_login);
set_session('ss_mb_id', $mb['mb_id']);
// FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함 - 110106
set_session('ss_mb_key', md5($mb['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']));
// 회원의 토큰키를 세션에 저장한다. /common.php 에서 해당 회원의 토큰값을 검사한다.
if(function_exists('update_auth_session_token')) update_auth_session_token($mb['mb_datetime']);
// 포인트 체크
if($config['cf_use_point']) {
+4 -4
View File
@@ -2,13 +2,13 @@
define('G5_CERT_IN_PROG', true);
include_once('./_common.php');
if (!empty($member['mb_certify']) && strlen($member['mb_dupinfo']) != 64) { // di로 인증되어 있거나 본인인증이 안된 계정일때
if(!$is_member) { alert("잘못된 접근입니다.", G5_URL); }
if (!empty($member['mb_certify']) && strlen($member['mb_dupinfo']) != 64) { // 본인인증 안된 계정이거나 ci로 인증된 계정일 경우
alert("잘못된 접근입니다.", G5_URL);
}
if(!$is_member) { alert("잘못된 접근입니다.", G5_URL); }
if($config['cf_cert_use'] == 0) alert("본인인증을 이용 할 수 없습니다. 관리자에게 문의 하십시오.");
if($config['cf_cert_use'] == 0) alert("본인인증을 이용 할 수 없습니다. 관리자에게 문의 하십시오.", G5_URL);
$g5['title'] = '본인인증을 다시 해주세요.';
include_once(G5_PATH.'/_head.php');
+21 -8
View File
@@ -6,6 +6,7 @@ global $g5;
if (!($w == '' || $w == 'u')) {
alert('w 값이 제대로 넘어오지 않았습니다.');
}
$url = urldecode($url);
if($w == '') {
$mb_id = isset($_POST['mb_id']) ? trim($_POST['mb_id']) : '';
@@ -36,7 +37,7 @@ $md5_cert_no = get_session('ss_cert_no');
$cert_type = get_session('ss_cert_type');
if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
// 해시값이 같은 경우에만 본인확인 값을 저장한다.
if (get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) {
if ($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함
$sql_certify .= " mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
@@ -44,12 +45,16 @@ if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
$sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
$sql_certify .= " , mb_name = '{$mb_name}' ";
} else {
} else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
$sql_certify .= " mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '' ";
$sql_certify .= " , mb_adult = 0 ";
$sql_certify .= " , mb_birth = '' ";
$sql_certify .= " , mb_sex = '' ";
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
$sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
$sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
$sql_certify .= " , mb_name = '{$mb_name}' ";
}else {
alert('본인인증된 정보와 입력된 회원정보가 일치하지않습니다. 다시시도 해주세요');
}
} else {
if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {
@@ -62,8 +67,16 @@ if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
}
$sql = "update {$g5['member_table']} set {$sql_certify} where mb_id = '{$mb_id}'";
sql_query($sql);
$result = sql_query($sql, false);
if($result){
if($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함)
insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
}else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
}
}
//===============================================================
goto_url(G5_URL);
(empty($url))? goto_url(G5_URL) : goto_url($url);
+6 -7
View File
@@ -4,15 +4,14 @@ include_once('./_common.php');
if ($is_guest)
alert('로그인 한 회원만 접근하실 수 있습니다.', G5_BBS_URL.'/login.php');
/*
if ($url)
$urlencode = urlencode($url);
else
$urlencode = urlencode($_SERVER[REQUEST_URI]);
*/
$url = isset($_GET['url']) ? clean_xss_tags($_GET['url']) : '';
while (1) {
$tmp = preg_replace('/&#[^;]+;/', '', $url);
if ($tmp == $url) break;
$url = $tmp;
}
//소셜 로그인 한 경우
if( function_exists('social_member_comfirm_redirect') && (! $url || $url === 'register_form.php' || (function_exists('social_is_edit_page') && social_is_edit_page($url) ) ) ){
social_member_comfirm_redirect();
+1 -1
View File
@@ -14,7 +14,7 @@ if (!($post_mb_password && check_password($post_mb_password, $member['mb_passwor
// 회원탈퇴일을 저장
$date = date("Ymd");
$sql = " update {$g5['member_table']} set mb_leave_date = '{$date}' where mb_id = '{$member['mb_id']}' ";
$sql = " update {$g5['member_table']} set mb_leave_date = '{$date}', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 탈퇴함\n".sql_real_escape_string($mb['mb_memo'])."', mb_certify = '', mb_adult = 0, mb_dupinfo = '' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
// 3.09 수정 (로그아웃)
+3 -2
View File
@@ -15,8 +15,9 @@ if ($kind == 'recv')
$unkind = 'send';
else if ($kind == 'send')
$unkind = 'recv';
else
alert(''.$kind .'값을 넘겨주세요.');
else {
alert("kind 변수 값이 올바르지 않습니다.");
}
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
+3 -2
View File
@@ -9,7 +9,8 @@ if (!$member['mb_open'] && $is_admin != 'super' && $member['mb_id'] != $mb_id)
alert_close("자신의 정보를 공개하지 않으면 다른분에게 쪽지를 보낼 수 없습니다. 정보공개 설정은 회원정보수정에서 하실 수 있습니다.");
$content = "";
$me_recv_mb_id = isset($_GET['me_recv_mb_id']) ? clean_xss_tags($_GET['me_recv_mb_id'], 1, 1) : '';
$me_recv_mb_id = isset($_REQUEST['me_recv_mb_id']) ? clean_xss_tags($_REQUEST['me_recv_mb_id'], 1, 1) : '';
$me_id = isset($_REQUEST['me_id']) ? clean_xss_tags($_REQUEST['me_id'], 1, 1) : '';
// 탈퇴한 회원에게 쪽지 보낼 수 없음
if ($me_recv_mb_id)
@@ -23,7 +24,7 @@ if ($me_recv_mb_id)
// 4.00.15
$row = sql_fetch(" select me_memo from {$g5['memo_table']} where me_id = '{$me_id}' and (me_recv_mb_id = '{$member['mb_id']}' or me_send_mb_id = '{$member['mb_id']}') ");
if ($row['me_memo'])
if (isset($row['me_memo']) && $row['me_memo'])
{
$content = "\n\n\n".' >'
."\n".' >'
+18 -1
View File
@@ -247,7 +247,24 @@ if ($sw == 'move')
sql_query(" delete from {$g5['board_new_table']} where bo_table = '$bo_table' and wr_id = '{$save[$i]['wr_id']}' ");
sql_query(" delete from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$save[$i]['wr_id']}' ");
}
sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write - '$save_count_write', bo_count_comment = bo_count_comment - '$save_count_comment' where bo_table = '$bo_table' ");
// 공지사항이 이동되는 경우의 처리 begin
$arr = array();
$sql = " select bo_notice from {$g5['board_table']} where bo_table = '{$bo_table}' ";
$row = sql_fetch($sql);
$arr_notice = explode(',', $row['bo_notice']);
for ($i=0; $i<count($arr_notice); $i++) {
$move_id = (int)$arr_notice[$i];
// 게시판에 wr_id 가 있다면 이동한게 아니므로 bo_notice 에 다시 넣음
$row2 = sql_fetch(" select count(*) as cnt from $write_table where wr_id = '{$move_id}' ");
if ($row2['cnt']) {
$arr[] = $move_id;
}
$bo_notice = implode(',', $arr);
}
// 공지사항이 이동되는 경우의 처리 end
sql_query(" update {$g5['board_table']} set bo_notice = '{$bo_notice}', bo_count_write = bo_count_write - '$save_count_write', bo_count_comment = bo_count_comment - '$save_count_comment' where bo_table = '$bo_table' ");
}
$msg = '해당 게시물을 선택한 게시판으로 '.$act.' 하였습니다.';
+18 -14
View File
@@ -1,27 +1,31 @@
<?php
include_once('./_common.php');
if($w == '')
$mb_id = isset($_POST['mb_id']) ? trim($_POST['mb_id']) : '';
else
alert('잘못된 접근입니다', G5_URL);
$mb_id = isset($_SESSION['ss_cert_mb_id']) ? trim(get_session('ss_cert_mb_id')) : '';
$mb_dupinfo = isset($_SESSION['ss_cert_dupinfo']) ? trim(get_session('ss_cert_dupinfo')) : '';
if(!$mb_id)
alert('회원아이디 값이 없습니다. 올바른 방법으로 이용해 주십시오.');
if(!$mb_id) alert('회원아이디 값이 없습니다. 올바른 방법으로 이용해 주십시오.', G5_URL);
if(!$mb_dupinfo) alert('잘못된 접근입니다.', G5_URL);
$mb_check = sql_fetch("select * from {$g5['member_table']} where mb_id = '{$mb_id}' AND mb_dupinfo = '{$mb_dupinfo}'");
if(!$mb_check) alert('잘못된 접근입니다.', G5_URL);
$mb_password = isset($_POST['mb_password']) ? trim($_POST['mb_password_re']) : '';
$mb_password_re = isset($_POST['mb_password_re']) ? trim($_POST['mb_password_re']) : '';
if ($w == '' && !$mb_password)
alert('비밀번호가 넘어오지 않았습니다.');
if($w == '' && $mb_password != $mb_password_re)
alert('비밀번호가 일치하지 않습니다.');
if (!$mb_password)
alert('비밀번호가 넘어오지 않았습니다.');
if ($mb_password != $mb_password_re)
alert('비밀번호가 일치하지 않습니다.');
$sql_password = "";
if ($mb_password)
$sql_password = "mb_password = '".get_encrypt_string($mb_password)."' ";
$sql_password = "mb_password = '".get_encrypt_string($mb_password)."' ";
sql_query("update {$g5['member_table']} set {$sql_password} where mb_id = '{$mb_id}'");
sql_query("update {$g5['member_table']} set {$sql_password} where mb_id = '{$mb_id}' AND mb_dupinfo = '{$mb_dupinfo}'");
set_session('ss_cert_mb_id', '');
set_session('ss_cert_dupinfo', '');
goto_url(G5_BBS_URL.'/login.php');
+2 -2
View File
@@ -217,13 +217,13 @@ for ($i=1; $i<=$upload_count; $i++) {
$upload[$i]['filesize'] = $filesize;
// 아래의 문자열이 들어간 파일은 -x 를 붙여서 웹경로를 알더라도 실행을 하지 못하도록 함
$filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $filename);
$filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc|phar)/i", "$0-x", $filename);
shuffle($chars_array);
$shuffle = implode('', $chars_array);
// 첨부파일 첨부시 첨부파일명에 공백이 포함되어 있으면 일부 PC에서 보이지 않거나 다운로드 되지 않는 현상이 있습니다. (길상여의 님 090925)
$upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
$upload[$i]['file'] = md5(sha1($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
$dest_file = G5_DATA_PATH.'/qa/'.$upload[$i]['file'];
+2 -2
View File
@@ -144,8 +144,8 @@ $req_nick = !isset($member['mb_nick_date']) || (isset($member['mb_nick_date']) &
$required = ($w=='') ? 'required' : '';
$readonly = ($w=='u') ? 'readonly' : '';
$name_readonly = ($w=='u' || ($config['cf_cert_use'] && $config['cf_cert_req']))? 'readonly' : '';
$hp_required = ($config['cf_req_hp'] || (($config['cf_cert_use'] && $config['cf_cert_req']) && ($config['cf_cert_hp'] || $config['cf_cert_sa']) && $member['mb_certify'] != "ipin")) ? 'required':'';
$hp_readonly = (($config['cf_cert_use'] && $config['cf_cert_req']) && ($config['cf_cert_hp'] || $config['cf_cert_sa']) && $member['mb_certify'] != "ipin") ? 'readonly':'';
$hp_required = ($config['cf_req_hp'] || (($config['cf_cert_use'] && $config['cf_cert_req']) && ($config['cf_cert_hp'] || $config['cf_cert_simple']) && $member['mb_certify'] != "ipin")) ? 'required':'';
$hp_readonly = (($config['cf_cert_use'] && $config['cf_cert_req']) && ($config['cf_cert_hp'] || $config['cf_cert_simple']) && $member['mb_certify'] != "ipin") ? 'readonly':'';
$agree = isset($_REQUEST['agree']) ? preg_replace('#[^0-9]#', '', $_REQUEST['agree']) : '';
$agree2 = isset($_REQUEST['agree2']) ? preg_replace('#[^0-9]#', '', $_REQUEST['agree2']) : '';
+27 -9
View File
@@ -110,7 +110,7 @@ if ($w == '' || $w == 'u') {
if ($msg = prohibit_mb_email($mb_email))alert($msg, "", true, true);
// 휴대폰 필수입력일 경우 휴대폰번호 유효성 체크
if ($config['cf_use_hp'] || ($config['cf_cert_hp'] || $config['cf_cert_sa']) && $config['cf_req_hp']) {
if ($config['cf_use_hp'] || ($config['cf_cert_hp'] || $config['cf_cert_simple']) && $config['cf_req_hp']) {
if ($msg = valid_mb_hp($mb_hp)) alert($msg, "", true, true);
}
@@ -176,7 +176,7 @@ $md5_cert_no = get_session('ss_cert_no');
$cert_type = get_session('ss_cert_type');
if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
// 해시값이 같은 경우에만 본인확인 값을 저장한다.
if (get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) {
if ($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함
$sql_certify .= " , mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
@@ -185,12 +185,17 @@ if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
if($w == 'u')
$sql_certify .= " , mb_name = '{$mb_name}' ";
} else {
} else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
$sql_certify .= " , mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '' ";
$sql_certify .= " , mb_adult = 0 ";
$sql_certify .= " , mb_birth = '' ";
$sql_certify .= " , mb_sex = '' ";
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
$sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
$sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
if($w == 'u')
$sql_certify .= " , mb_name = '{$mb_name}' ";
}else {
alert('본인인증된 정보와 입력된 회원정보가 일치하지않습니다. 다시시도 해주세요');
}
} else {
if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {
@@ -202,7 +207,6 @@ if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
}
}
//===============================================================
if ($w == '') {
$sql = " insert into {$g5['member_table']}
set mb_id = '{$mb_id}',
@@ -299,11 +303,19 @@ if ($w == '') {
}
// 메일인증 사용하지 않는 경우에만 로그인
if (!$config['cf_use_email_certify'])
if (!$config['cf_use_email_certify']) {
set_session('ss_mb_id', $mb_id);
if(function_exists('update_auth_session_token')) update_auth_session_token(G5_TIME_YMDHIS);
}
set_session('ss_mb_reg', $mb_id);
if($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함)
insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
}else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
}
} else if ($w == 'u') {
if (!trim(get_session('ss_mb_id')))
alert('로그인 되어 있지 않습니다.');
@@ -361,6 +373,12 @@ if ($w == '') {
{$sql_certify}
where mb_id = '$mb_id' ";
sql_query($sql);
if($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함)
insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
}else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
}
}
+8 -16
View File
@@ -187,31 +187,23 @@ if (!empty($group['gr_use_access'])) {
}
// 본인확인을 사용한다면
if ($config['cf_cert_use'] && !$is_admin) {
if ($board['bo_use_cert'] != '' && $config['cf_cert_use'] && !$is_admin) {
// 인증된 회원만 가능
if ($board['bo_use_cert'] != '' && $is_guest) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&amp;url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
if ($is_guest) {
alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.$qstr.'&amp;url='.urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
if ($board['bo_use_cert'] && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
goto_url(G5_BBS_URL."/member_cert_refresh.php");
if (strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
goto_url(G5_BBS_URL."/member_cert_refresh.php?url=".urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
if ($board['bo_use_cert'] && !$member['mb_certify']) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
}
if ($board['bo_use_cert'] && !$member['mb_adult']) {
if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) {
alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
}
// if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
// alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
// }
// if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
// alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
// }
}
// 글자수 제한 설정값
+1 -3
View File
@@ -324,9 +324,7 @@ else if ($w == 'cu') // 댓글 수정
if (!$is_admin)
$sql_ip = " , wr_ip = '{$_SERVER['REMOTE_ADDR']}' ";
$sql_secret = "";
if ($wr_secret)
$sql_secret = " , wr_option = '$wr_secret' ";
$sql_secret = " , wr_option = '$wr_secret' ";
$sql = " update $write_table
set wr_subject = '$wr_subject',
+14 -4
View File
@@ -221,6 +221,16 @@ if (!isset($_POST['wr_subject']) || !trim($_POST['wr_subject']))
$wr_seo_title = exist_seo_title_recursive('bbs', generate_seo_title($wr_subject), $write_table, $wr_id);
$options = array($html,$secret,$mail);
// php 5.3버전 이상부터 익명함수가 가능합니다.
// $wr_option = implode(',', array_filter($options, function($v) { return trim($v); }));
if(! function_exists('wr_option_filter_trim')) {
function wr_option_filter_trim($v){
return trim($v);
}
}
$wr_option = implode(',', array_filter($options, 'wr_option_filter_trim'));
if ($w == '' || $w == 'r') {
if ($member['mb_id']) {
@@ -258,7 +268,7 @@ if ($w == '' || $w == 'r') {
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_option = '$wr_option',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_seo_title = '$wr_seo_title',
@@ -380,7 +390,7 @@ if ($w == '' || $w == 'r') {
$sql = " update {$write_table}
set ca_name = '{$ca_name}',
wr_option = '{$html},{$secret},{$mail}',
wr_option = '{$wr_option}',
wr_subject = '{$wr_subject}',
wr_content = '{$wr_content}',
wr_seo_title = '$wr_seo_title',
@@ -561,13 +571,13 @@ if(isset($_FILES['bf_file']['name']) && is_array($_FILES['bf_file']['name'])) {
$upload[$i]['filesize'] = $filesize;
// 아래의 문자열이 들어간 파일은 -x 를 붙여서 웹경로를 알더라도 실행을 하지 못하도록 함
$filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $filename);
$filename = preg_replace("/\.(php|pht|phtm|htm|cgi|pl|exe|jsp|asp|inc|phar)/i", "$0-x", $filename);
shuffle($chars_array);
$shuffle = implode('', $chars_array);
// 첨부파일 첨부시 첨부파일명에 공백이 포함되어 있으면 일부 PC에서 보이지 않거나 다운로드 되지 않는 현상이 있습니다. (길상여의 님 090925)
$upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
$upload[$i]['file'] = md5(sha1($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
$dest_file = G5_DATA_PATH.'/file/'.$bo_table.'/'.$upload[$i]['file'];
+33 -14
View File
@@ -208,7 +208,8 @@ if (file_exists($dbconfig_file)) {
@ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음
@ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)
session_save_path(G5_SESSION_PATH);
// 세션파일 저장 디렉토리를 지정할 경우
// session_save_path(G5_SESSION_PATH);
if (isset($SESSION_CACHE_LIMITER))
@session_cache_limiter($SESSION_CACHE_LIMITER);
@@ -232,8 +233,15 @@ function chrome_domain_session_name(){
'.maru.net', // 마루호스팅
);
if(isset($_SERVER['HTTP_HOST']) && preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다.
if(! defined('G5_SESSION_NAME')) define('G5_SESSION_NAME', 'G5PHPSESSID');
$add_str = '';
$document_root_path = str_replace('\\', '/', realpath($_SERVER['DOCUMENT_ROOT']));
if( G5_PATH !== $document_root_path ){
$add_str = substr_count(G5_PATH, '/').basename(dirname(__FILE__));
}
if($add_str || (isset($_SERVER['HTTP_HOST']) && preg_match('/('.implode('|', $domain_array).')/i', $_SERVER['HTTP_HOST'])) ){ // 위의 도메인주소를 포함한 url접속시 기본세션이름을 변경한다.
if(! defined('G5_SESSION_NAME')) define('G5_SESSION_NAME', 'G5'.$add_str.'PHPSESSID');
@session_name(G5_SESSION_NAME);
}
}
@@ -243,8 +251,18 @@ chrome_domain_session_name();
if( ! class_exists('XenoPostToForm') ){
class XenoPostToForm
{
public static function g5_session_name(){
return (defined('G5_SESSION_NAME') && G5_SESSION_NAME) ? G5_SESSION_NAME : 'PHPSESSID';
}
public static function php52_request_check(){
$cookie_session_name = self::g5_session_name();
if (isset($_REQUEST[$cookie_session_name]) && $_REQUEST[$cookie_session_name] != session_id())
goto_url(G5_BBS_URL.'/logout.php');
}
public static function check() {
$cookie_session_name = (defined('G5_SESSION_NAME') && G5_SESSION_NAME) ? G5_SESSION_NAME : 'PHPSESSID';
$cookie_session_name = self::g5_session_name();
return !isset($_COOKIE[$cookie_session_name]) && count($_POST) && ((isset($_SERVER['HTTP_REFERER']) && !preg_match('~^https://'.preg_quote($_SERVER['HTTP_HOST'], '~').'/~', $_SERVER['HTTP_REFERER']) || ! isset($_SERVER['HTTP_REFERER']) ));
}
@@ -299,8 +317,8 @@ if( !function_exists('shop_check_is_pay_page') ){
$mobile_dir.'/'.$shop_dir.'/lg/xpay_approval.php',
$mobile_dir.'/'.$shop_dir.'/kcp/order_approval_form.php',
$shop_dir.'/kakaopay/inicis_kk_return.php', // 이니시스 카카오페이 (SIRK 로 시작하는 아이디 전용)
$plugin_dir."/kgcert/kg_result.php", // 이니시스 통합인증 모듈 2021-09-10 http <-> https 간 세션 공유 문제로 인해 추가
$plugin_dir."/kgcert/kg_find_result.php", // 이니시스 통합인증 모듈 2021-09-10 http <-> https 간 세션 공유 문제로 인해 추가
$plugin_dir."/inicert/ini_result.php", // 이니시스 간편인증 모듈 2021-09-10 http <-> https 간 세션 공유 문제로 인해 추가
$plugin_dir."/inicert/ini_find_result.php", // 이니시스 간편인증 모듈 2021-09-10 http <-> https 간 세션 공유 문제로 인해 추가
);
$server_script_name = str_replace('\\', '/', $_SERVER['SCRIPT_NAME']);
@@ -351,8 +369,9 @@ if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER)
$headers = headers_list();
krsort($headers);
$cookie_session_name = method_exists('XenoPostToForm', 'g5_session_name') ? XenoPostToForm::g5_session_name() : 'PHPSESSID';
foreach ($headers as $header) {
if (!preg_match('~^Set-Cookie: PHPSESSID=~', $header)) continue;
if (!preg_match('~^Set-Cookie: '.$cookie_session_name.'=~', $header)) continue;
$header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None';
header($header, false);
$g5['session_cookie_samesite'] = 'none';
@@ -375,9 +394,8 @@ define('G5_CAPTCHA_DIR', !empty($config['cf_captcha']) ? $config['cf_captcha'
define('G5_CAPTCHA_URL', G5_PLUGIN_URL.'/'.G5_CAPTCHA_DIR);
define('G5_CAPTCHA_PATH', G5_PLUGIN_PATH.'/'.G5_CAPTCHA_DIR);
// 4.00.03 : [보안관련] PHPSESSID 가 틀리면 로그아웃한다.
if (isset($_REQUEST['PHPSESSID']) && $_REQUEST['PHPSESSID'] != session_id())
goto_url(G5_BBS_URL.'/logout.php');
// 4.00.03 : [보안관련] PHPSESSID 가 틀리면 로그아웃한다. php5.2 버전 이하에서만 해당되는 코드이며, 오히려 무한리다이렉트 오류가 일어날수 있으므로 주석처리합니다.
// if( method_exists('XenoPostToForm', 'php52_request_check') ) XenoPostToForm::php52_request_check();
// QUERY_STRING
$qstr = '';
@@ -497,8 +515,8 @@ if (isset($_REQUEST['gr_id'])) {
if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이라면
$member = get_member($_SESSION['ss_mb_id']);
// 차단된 회원이면 ss_mb_id 초기화
if($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME)) {
// 차단된 회원이면 ss_mb_id 초기화, 또는 세션에 저장된 회원 토큰값을 비교하여 틀리면 초기화
if( ($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME)) || (function_exists('check_auth_session_token') && !check_auth_session_token($member['mb_datetime'])) ) {
set_session('ss_mb_id', '');
$member = array();
} else {
@@ -521,7 +539,7 @@ if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이
$tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20);
// 최고관리자는 자동로그인 금지
if (strtolower($tmp_mb_id) !== strtolower($config['cf_admin'])) {
$sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' ";
$sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify, mb_datetime from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' ";
$row = sql_fetch($sql);
if($row['mb_password']){
$key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['SERVER_SOFTWARE'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);
@@ -534,6 +552,7 @@ if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이
(!$config['cf_use_email_certify'] || preg_match('/[1-9]/', $row['mb_email_certify'])) ) {
// 세션에 회원아이디를 저장하여 로그인으로 간주
set_session('ss_mb_id', $tmp_mb_id);
if(function_exists('update_auth_session_token')) update_auth_session_token($row['mb_datetime']);
// 페이지를 재실행
echo "<script type='text/javascript'> window.location.reload(); </script>";
@@ -795,7 +814,7 @@ if(!empty($extend_file) && is_array($extend_file)) {
}
unset($extend_file);
if(!$is_admin && $is_member && (!defined("G5_CERT_IN_PROG") || !G5_CERT_IN_PROG) && $config['cf_cert_use'] <> 0 && $config['cf_cert_req']) { // 본인인증이 필수일때
if($is_member && !$is_admin && (!defined("G5_CERT_IN_PROG") || !G5_CERT_IN_PROG) && $config['cf_cert_use'] <> 0 && $config['cf_cert_req']) { // 본인인증이 필수일때
if ((empty($member['mb_certify']) || (!empty($member['mb_certify']) && strlen($member['mb_dupinfo']) == 64))) { // di로 인증되어 있거나 본인인증이 안된 계정일때
goto_url(G5_BBS_URL."/member_cert_refresh.php");
}
+6 -6
View File
@@ -59,7 +59,7 @@ define('G5_MOBILE_DIR', 'mobile');
define('G5_OKNAME_DIR', 'okname');
define('G5_KCPCERT_DIR', 'kcpcert');
define('G5_KGCERT_DIR', 'kgcert');
define('G5_INICERT_DIR', 'inicert');
define('G5_LGXPAY_DIR', 'lgxpay');
define('G5_SNS_DIR', 'sns');
@@ -98,7 +98,7 @@ define('G5_PLUGIN_URL', G5_URL.'/'.G5_PLUGIN_DIR);
define('G5_EDITOR_URL', G5_PLUGIN_URL.'/'.G5_EDITOR_DIR);
define('G5_OKNAME_URL', G5_PLUGIN_URL.'/'.G5_OKNAME_DIR);
define('G5_KCPCERT_URL', G5_PLUGIN_URL.'/'.G5_KCPCERT_DIR);
define('G5_KGCERT_URL', G5_PLUGIN_URL.'/'.G5_KGCERT_DIR);
define('G5_INICERT_URL', G5_PLUGIN_URL.'/'.G5_INICERT_DIR);
define('G5_LGXPAY_URL', G5_PLUGIN_URL.'/'.G5_LGXPAY_DIR);
define('G5_SNS_URL', G5_PLUGIN_URL.'/'.G5_SNS_DIR);
define('G5_SYNDI_URL', G5_PLUGIN_URL.'/'.G5_SYNDI_DIR);
@@ -118,7 +118,7 @@ define('G5_EDITOR_PATH', G5_PLUGIN_PATH.'/'.G5_EDITOR_DIR);
define('G5_OKNAME_PATH', G5_PLUGIN_PATH.'/'.G5_OKNAME_DIR);
define('G5_KCPCERT_PATH', G5_PLUGIN_PATH.'/'.G5_KCPCERT_DIR);
define('G5_KGCERT_PATH', G5_PLUGIN_PATH.'/'.G5_KGCERT_DIR);
define('G5_INICERT_PATH', G5_PLUGIN_PATH.'/'.G5_INICERT_DIR);
define('G5_LGXPAY_PATH', G5_PLUGIN_PATH.'/'.G5_LGXPAY_DIR);
define('G5_SNS_PATH', G5_PLUGIN_PATH.'/'.G5_SNS_DIR);
@@ -135,7 +135,6 @@ define('G5_PHPMAILER_PATH', G5_PLUGIN_PATH.'/'.G5_PHPMAILER_DIR);
//------------------------------------------------------------------------------
define('G5_SET_DEVICE', 'both');
// define('G5_CERT_IN_PROG', false); // 재인증페이지 리디렉션 사용여부
define('G5_USE_MOBILE', true); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
define('G5_USE_CACHE', true); // 최신글등에 cache 기능 사용 여부
@@ -162,7 +161,7 @@ define('G5_SPACE', 32); // 공백
define('G5_SPECIAL', 64); // 특수문자
// SEO TITLE 문단 길이
define('G5_SEO_TITEL_WORD_CUT', 8); // SEO TITLE 문단 길이
define('G5_SEO_TITLE_WORD_CUT', 8); // SEO TITLE 문단 길이
// 퍼미션
define('G5_DIR_PERMISSION', 0755); // 디렉토리 생성시 퍼미션
@@ -230,7 +229,8 @@ define('G5_VISIT_BROWSCAP_USE', false);
*/
define('G5_IP_DISPLAY', '\\1.♡.\\3.\\4');
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') { //https 통신일때 daum 주소 js
if ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ||
(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO']==='https')) { //https 통신일때 daum 주소 js
define('G5_POSTCODE_JS', '<script src="https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"></script>');
} else { //http 통신일때 daum 주소 js
define('G5_POSTCODE_JS', '<script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>');
+1 -1
View File
@@ -272,7 +272,7 @@ a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
+2 -2
View File
@@ -329,7 +329,7 @@ a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 25px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}
a.btn_frmline {line-height:24px}
@@ -752,7 +752,7 @@ box-shadow: 1px 2px 2px #eee;}
#sod_frm_taker .tbl_frm01 .choice_place input[type="radio"] + label span {top:7px}
#sod_frm_taker .tbl_frm01 .choice_place input,
#sod_frm_taker .tbl_frm01 .choice_place label {margin-left:10px}
#sod_frm_taker .tbl_frm01 .btn_frmline {width:80px;height:30px;line-height:28px;background:#fff;border:1px solid #d4d6db;color:#606060;text-align:center;float:right}
#sod_frm_taker .tbl_frm01 .btn_frmline {padding:0;width:80px;height:30px;line-height:28px;background:#fff;border:1px solid #d4d6db;color:#606060;text-align:center;float:right}
#sod_frm_taker .tbl_frm01 td input {width:100%}
#sod_frm_taker .tbl_frm01 td .addr input {width:20%}
+1 -1
View File
@@ -43,7 +43,7 @@ header("Pragma: no-cache"); // HTTP/1.0
<meta charset="utf-8">
<?php
if (G5_IS_MOBILE) {
echo '<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10">'.PHP_EOL;
echo '<meta name="viewport" id="meta_viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10">'.PHP_EOL;
echo '<meta name="HandheldFriendly" content="true">'.PHP_EOL;
echo '<meta name="format-detection" content="telephone=no">'.PHP_EOL;
} else {
+21 -1
View File
@@ -288,7 +288,7 @@ CREATE TABLE IF NOT EXISTS `g5_config` (
`cf_cert_find` tinyint(4) NOT NULL DEFAULT '0',
`cf_cert_ipin` varchar(255) NOT NULL DEFAULT '',
`cf_cert_hp` varchar(255) NOT NULL DEFAULT '',
`cf_cert_sa` varchar(255) NOT NULL DEFAULT '',
`cf_cert_simple` varchar(255) NOT NULL DEFAULT '',
`cf_cert_kg_cd` varchar(255) NOT NULL DEFAULT '',
`cf_cert_kg_mid` varchar(255) NOT NULL DEFAULT '',
`cf_cert_kcb_cd` varchar(255) NOT NULL DEFAULT '',
@@ -303,6 +303,7 @@ CREATE TABLE IF NOT EXISTS `g5_config` (
`cf_icode_pw` varchar(255) NOT NULL DEFAULT '',
`cf_icode_server_ip` varchar(50) NOT NULL DEFAULT '',
`cf_icode_server_port` varchar(50) NOT NULL DEFAULT '',
`cf_icode_token_key` varchar(100) NOT NULL DEFAULT '',
`cf_googl_shorturl_apikey` varchar(50) NOT NULL DEFAULT '',
`cf_social_login_use` tinyint(4) NOT NULL DEFAULT '0',
`cf_social_servicelist` varchar(255) NOT NULL DEFAULT '',
@@ -365,6 +366,25 @@ CREATE TABLE IF NOT EXISTS `g5_cert_history` (
-- --------------------------------------------------------
--
-- Table structure for table `g5_cert_history`
--
DROP TABLE IF EXISTS `g5_member_cert_history`;
CREATE TABLE IF NOT EXISTS `g5_member_cert_history` (
`ch_id` int(11) NOT NULL auto_increment,
`mb_id` varchar(20) NOT NULL DEFAULT '',
`ch_name` varchar(255) NOT NULL DEFAULT '',
`ch_hp` varchar(255) NOT NULL DEFAULT '',
`ch_birth` varchar(255) NOT NULL DEFAULT '',
`ch_type` varchar(20) NOT NULL DEFAULT '',
`ch_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ch_id`),
KEY `mb_id` (`mb_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g5_group`
--
+1
View File
@@ -353,6 +353,7 @@ CREATE TABLE IF NOT EXISTS `g5_shop_default` (
`de_inicis_sign_key` varchar(255) NOT NULL DEFAULT '',
`de_iche_use` tinyint(4) NOT NULL DEFAULT '0',
`de_easy_pay_use` tinyint(4) NOT NULL DEFAULT '0',
`de_easy_pay_services` varchar(255) NOT NULL DEFAULT '',
`de_samsung_pay_use` tinyint(4) NOT NULL DEFAULT '0',
`de_inicis_lpay_use` tinyint(4) NOT NULL DEFAULT '0',
`de_inicis_kakaopay_use` tinyint(4) NOT NULL DEFAULT '0',
+14 -3
View File
@@ -22,6 +22,8 @@ include_once('../lib/cache.lib.php');
$title = G5_VERSION." 설치 완료 3/3";
include_once ('./install.inc.php');
$tmp_bo_table = array ("notice", "qa", "free", "gallery");
//print_r($_POST); exit;
$mysql_host = isset($_POST['mysql_host']) ? safe_install_string_check($_POST['mysql_host']) : '';
@@ -259,7 +261,6 @@ if($g5_install || !$result) {
sql_query(" insert into `{$table_prefix}group` set gr_id = '$tmp_gr_id', gr_subject = '$tmp_gr_subject' ", true, $dblink);
// 게시판 생성
$tmp_bo_table = array ("notice", "qa", "free", "gallery");
$tmp_bo_subject = array ("공지사항", "질문답변", "자유게시판", "갤러리");
for ($i=0; $i<count($tmp_bo_table); $i++)
{
@@ -529,6 +530,13 @@ for ($i=0; $i<count($dir_arr); $i++) {
@chmod($dir_arr[$i], G5_DIR_PERMISSION);
}
// 게시판 디렉토리 생성 (작은별님,211206)
for ($i=0; $i<count($tmp_bo_table); $i++) {
$board_dir = $data_path.'/file/'.$tmp_bo_table[$i];
@mkdir($board_dir, G5_DIR_PERMISSION);
@chmod($board_dir, G5_DIR_PERMISSION);
}
if($g5_shop_install) {
$dir_arr = array (
$data_path.'/banner',
@@ -561,6 +569,7 @@ fwrite($f, "define('G5_MYSQL_PASSWORD', '".addcslashes($mysql_pass, "\\'")."');\
fwrite($f, "define('G5_MYSQL_DB', '".addcslashes($mysql_db, "\\'")."');\n");
fwrite($f, "define('G5_MYSQL_SET_MODE', {$mysql_set_mode});\n\n");
fwrite($f, "define('G5_TABLE_PREFIX', '{$table_prefix}');\n\n");
fwrite($f, "define('G5_TOKEN_ENCRYPTION_KEY', '".get_random_token_string(16)."'); // 토큰 암호화에 사용할 키\n\n");
fwrite($f, "\$g5['write_prefix'] = G5_TABLE_PREFIX.'write_'; // 게시판 테이블명 접두사\n\n");
fwrite($f, "\$g5['auth_table'] = G5_TABLE_PREFIX.'auth'; // 관리권한 설정 테이블\n");
fwrite($f, "\$g5['config_table'] = G5_TABLE_PREFIX.'config'; // 기본환경 설정 테이블\n");
@@ -592,6 +601,7 @@ fwrite($f, "\$g5['faq_master_table'] = G5_TABLE_PREFIX.'faq_master'; // 자주
fwrite($f, "\$g5['new_win_table'] = G5_TABLE_PREFIX.'new_win'; // 새창 테이블\n");
fwrite($f, "\$g5['menu_table'] = G5_TABLE_PREFIX.'menu'; // 메뉴관리 테이블\n");
fwrite($f, "\$g5['social_profile_table'] = G5_TABLE_PREFIX.'member_social_profiles'; // 소셜 로그인 테이블\n");
fwrite($f, "\$g5['member_cert_history_table'] = G5_TABLE_PREFIX.'member_cert_history'; // 본인인증 변경내역 테이블\n");
if($g5_shop_install) {
fwrite($f, "\n");
@@ -632,13 +642,14 @@ fclose($f);
<li>DB설정 파일 생성 완료 (<?php echo $file ?>)</li>
<?php
// data 디렉토리 및 하위 디렉토리에서는 .htaccess .htpasswd .php .phtml .html .htm .inc .cgi .pl 파일을 실행할수 없게함.
// data 디렉토리 및 하위 디렉토리에서는 .htaccess .htpasswd .php .phtml .html .htm .inc .cgi .pl .phar 파일을 실행할수 없게함.
$f = fopen($data_path.'/.htaccess', 'w');
$str = <<<EOD
<FilesMatch "\.(htaccess|htpasswd|[Pp][Hh][Pp]|[Pp][Hh][Tt]|[Pp]?[Hh][Tt][Mm][Ll]?|[Ii][Nn][Cc]|[Cc][Gg][Ii]|[Pp][Ll])">
<FilesMatch "\.(htaccess|htpasswd|[Pp][Hh][Pp]|[Pp][Hh][Tt]|[Pp]?[Hh][Tt][Mm][Ll]?|[Ii][Nn][Cc]|[Cc][Gg][Ii]|[Pp][Ll]|[Pp][Hh][Aa][Rr])">
Order allow,deny
Deny from all
</FilesMatch>
RedirectMatch 403 /session/.*
EOD;
fwrite($f, $str);
fclose($f);
+3 -8
View File
@@ -98,8 +98,8 @@ function cert_confirm() {
var val = document.fregisterform.cert_type.value;
switch(val) {
case "sa":
type = "통합인증";
case "simple":
type = "간편인증";
break;
case "ipin":
type = "아이핀";
@@ -128,11 +128,6 @@ function popup_center() {
let _width = 400;
let _height = 620;
var xPos = (document.body.offsetWidth/2) - (_width/2); // 가운데 정렬
xPos += window.screenLeft; // 듀얼 모니터일 때
if( navigator.userAgent.indexOf("Android") > - 1 || navigator.userAgent.indexOf("iPhone") > - 1 ) // 모바일일때
{
return window;
}else {
xPos += window.screenLeft; // 듀얼 모니터일 때
return window.open("", "sa_popup", "width="+_width+", height="+_height+", left="+xPos+", menubar=yes, status=yes, titlebar=yes, resizable=yes");
}
}
+7
View File
@@ -373,6 +373,10 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
return false;
}
// 핀치 줌 현상 제거
var vContent = "width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10";
$("#meta_viewport").attr("content", vContent + ",user-scalable=no");
var zip_case = 1; //0이면 레이어, 1이면 페이지에 끼워 넣기, 2이면 새창
var complete_fn = function(data){
@@ -418,6 +422,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
}
setTimeout(function(){
$("#meta_viewport").attr("content", vContent);
of[frm_addr2].focus();
} , 100);
};
@@ -435,6 +440,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
jQuery('form[name="'+frm_name+'"]').find('input[name="'+frm_addr1+'"]').before(element_wrap);
jQuery("#"+daum_pape_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
e.preventDefault();
$("#meta_viewport").attr("content", vContent);
jQuery(this).parent().hide();
});
}
@@ -478,6 +484,7 @@ var win_zip = function(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_j
document.body.appendChild(element_layer);
jQuery("#"+rayer_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
e.preventDefault();
$("#meta_viewport").attr("content", vContent);
jQuery(this).parent().hide();
});
}
+1 -1
View File
@@ -480,7 +480,7 @@ function price_calculate()
}
});
$("#sit_tot_price").empty().html("<span>총 금액 :</span> "+number_format(String(total))+"원");
$("#sit_tot_price").empty().html("<span>총 금액 :</span><strong>"+number_format(String(total))+"</strong> 원");
$("#sit_tot_price").trigger("price_calculate", [total]);
}
+1 -1
View File
@@ -159,7 +159,7 @@ jQuery(function($){
}
});
$("#sit_tot_price").empty().html("<span>총 금액 </span><strong>"+number_format(String(total))+"</strong> 원");
$("#sit_tot_price").empty().html("<span>총 금액 :</span><strong>"+number_format(String(total))+"</strong> 원");
$("#sit_tot_price").trigger("price_calculate", [total]);
} else {
+8 -8
View File
@@ -6,7 +6,7 @@ Class G5_object_cache {
public $contents = array();
public $etcs = array();
function get($type, $key, $group ='default') {
function get($type, $key, $group ='default') {
switch ($type) {
case 'bbs':
@@ -28,10 +28,10 @@ Class G5_object_cache {
}
return false;
}
}
function exists($type, $key, $group = 'default' ) {
function exists($type, $key, $group = 'default' ) {
$return_data = '';
switch ($type) {
@@ -47,9 +47,9 @@ Class G5_object_cache {
}
return isset($datas[$group]) && ( isset($datas[$group][$key]) || array_key_exists($key, $datas[$group]) );
}
}
function set($type, $key, $data=array(), $group='default') {
function set($type, $key, $data=array(), $group='default') {
if ( is_object( $data ) )
$data = clone $data;
@@ -65,10 +65,10 @@ Class G5_object_cache {
break;
}
}
}
function delete($key, $group='default') {
switch ($type) {
switch ($key) {
case 'bbs':
$datas = $this->writes;
break;
+85 -9
View File
@@ -1527,7 +1527,7 @@ function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
global $g5;
if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
$link = mysqli_connect($host, $user, $pass, $db);
$link = @mysqli_connect($host, $user, $pass, $db) or die('MySQL Host, User, Password, DB 정보에 오류가 있습니다.');
// 연결 오류 발생 시 스크립트 종료
if (mysqli_connect_errno()) {
@@ -2764,6 +2764,41 @@ function insert_cert_history($mb_id, $company, $method)
sql_query($sql);
}
// 본인확인 변경내역 기록
function insert_member_cert_history($mb_id, $name, $hp, $birth, $type)
{
global $g5;
// 본인인증 내역 테이블 정보가 dbconfig에 없으면 소셜 테이블 정의
if( !isset($g5['member_cert_history']) ){
$g5['member_cert_history_table'] = G5_TABLE_PREFIX.'member_cert_history';
}
// 멤버 본인인증 정보 변경 내역 테이블 없을 경우 생성
if(isset($g5['member_cert_history_table']) && !sql_query(" DESC {$g5['member_cert_history_table']} ", false)) {
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['member_cert_history_table']}` (
`ch_id` int(11) NOT NULL auto_increment,
`mb_id` varchar(20) NOT NULL DEFAULT '',
`ch_name` varchar(255) NOT NULL DEFAULT '',
`ch_hp` varchar(255) NOT NULL DEFAULT '',
`ch_birth` varchar(255) NOT NULL DEFAULT '',
`ch_type` varchar(20) NOT NULL DEFAULT '',
`ch_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ch_id`),
KEY `mb_id` (`mb_id`)
) ", true);
}
$sql = " insert into {$g5['member_cert_history_table']}
set mb_id = '{$mb_id}',
ch_name = '{$name}',
ch_hp = '{$hp}',
ch_birth = '{$birth}',
ch_type = '{$type}',
ch_datetime = '".G5_TIME_YMD." ".G5_TIME_HIS."'";
sql_query($sql);
}
// 인증시도회수 체크
function certify_count_check($mb_id, $type)
{
@@ -2788,8 +2823,8 @@ function certify_count_check($mb_id, $type)
$row = sql_fetch($sql);
switch($type) {
case 'sa' :
$cert = '통합인증';
case 'simple' :
$cert = '간편인증';
break;
case 'hp':
$cert = '휴대폰';
@@ -3041,6 +3076,9 @@ function get_search_string($stx)
// XSS 관련 태그 제거
function clean_xss_tags($str, $check_entities=0, $is_remove_tags=0, $cur_str_len=0)
{
// tab('\t'), formfeed('\f'), vertical tab('\v'), newline('\n'), carriage return('\r') 를 제거한다.
$str = preg_replace("#[\t\f\v\n\r]#", '', $str);
if( $is_remove_tags ){
$str = strip_tags($str);
}
@@ -3147,7 +3185,7 @@ function member_delete($mb_id)
}
// 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025
$sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_addr3 = '', mb_point = 0, mb_profile = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."' where mb_id = '{$mb_id}' ";
$sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_addr3 = '', mb_point = 0, mb_profile = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."', mb_certify = '', mb_adult = 0, mb_dupinfo = '' where mb_id = '{$mb_id}' ";
sql_query($sql);
@@ -3302,7 +3340,13 @@ function check_url_host($url, $msg='', $return_url=G5_URL, $is_redirect=false)
if(!$msg)
$msg = 'url에 타 도메인을 지정할 수 없습니다.';
$p = @parse_url($url);
// KVE-2021-1277 Open Redirect 취약점 해결
if (preg_match('#\\\0#', $url)) {
alert('url 에 올바르지 않은 값이 포함되어 있습니다.');
}
$url = urldecode($url);
$p = @parse_url(trim($url));
$host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
$is_host_check = false;
@@ -3322,10 +3366,10 @@ function check_url_host($url, $msg='', $return_url=G5_URL, $is_redirect=false)
}
}
if(stripos($url, 'http:') !== false) {
if(!isset($p['scheme']) || !$p['scheme'] || !isset($p['host']) || !$p['host'])
alert('url 정보가 올바르지 않습니다.', $return_url);
}
// if(stripos($url, 'http:') !== false) {
// if(!isset($p['scheme']) || !$p['scheme'] || !isset($p['host']) || !$p['host'])
// alert('url 정보가 올바르지 않습니다.', $return_url);
// }
//php 5.6.29 이하 버전에서는 parse_url 버그가 존재함
//php 7.0.1 ~ 7.0.5 버전에서는 parse_url 버그가 존재함
@@ -3880,6 +3924,38 @@ function is_include_path_check($path='', $is_input='')
return true;
}
function check_auth_session_token($str=''){
if (get_session('ss_mb_token_key') === get_token_encryption_key($str)) {
return true;
}
return false;
}
function update_auth_session_token($str=''){
set_session('ss_mb_token_key', get_token_encryption_key($str));
}
function get_token_encryption_key($str=''){
$token = G5_TABLE_PREFIX.(defined('G5_SHOP_TABLE_PREFIX') ? G5_SHOP_TABLE_PREFIX : '').(defined('G5_TOKEN_ENCRYPTION_KEY') ? G5_TOKEN_ENCRYPTION_KEY : '').$str;
return md5($token);
}
function get_random_token_string($length=6)
{
if(function_exists('random_bytes')){
return bin2hex(random_bytes($length));
}
$characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
$characters_length = strlen($characters);
$output = '';
for ($i = 0; $i < $length; $i++)
$output .= $characters[rand(0, $characters_length - 1)];
return bin2hex($output);
}
function filter_input_include_path($path){
return str_replace('//', '/', $path);
}
+5 -5
View File
@@ -2035,8 +2035,8 @@ function shop_member_cert_check($id, $type)
$sql = " select ca_cert_use, ca_adult_use from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' ";
$row = sql_fetch($sql);
if (($ca['ca_cert_use'] || $ca['ca_adult_use']) && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
goto_url(G5_BBS_URL."/member_cert_refresh.php");
if (($row['ca_cert_use'] || $row['ca_adult_use']) && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
goto_url(G5_BBS_URL."/member_cert_refresh.php?url=".urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
// 본인확인체크
@@ -2070,7 +2070,7 @@ function shop_member_cert_check($id, $type)
$ca = sql_fetch($sql);
if (($ca['ca_cert_use'] || $ca['ca_adult_use']) && strlen($member['mb_dupinfo']) == 64 && $member['mb_certify']) { // 본인 인증 된 계정 중에서 di로 저장 되었을 경우에만
goto_url(G5_BBS_URL."/member_cert_refresh.php");
goto_url(G5_BBS_URL."/member_cert_refresh.php?url=".urlencode(get_pretty_url($bo_table, $wr_id, $qstr)));
}
@@ -2464,9 +2464,9 @@ function shop_is_taxsave($od, $is_view_receipt=false){
if( $od['od_settle_case'] == '무통장' ){
$od_pay_type = 'account';
} else if ( $od['od_settle_case'] == '계좌이체' ) {
$od_pay_type = 'vbank';
} else if ( $od['od_settle_case'] == '가상계좌' ) {
$od_pay_type = 'transfer';
} else if ( $od['od_settle_case'] == '가상계좌' ) {
$od_pay_type = 'vbank';
}
if( $od_pay_type ) {
+1 -1
View File
@@ -193,7 +193,7 @@ function correct_goto_url($url){
return $url;
}
function generate_seo_title($string, $wordLimit=G5_SEO_TITEL_WORD_CUT){
function generate_seo_title($string, $wordLimit=G5_SEO_TITLE_WORD_CUT){
$separator = '-';
if($wordLimit != 0){
+2
View File
@@ -1,5 +1,7 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once('./_common.php');
if (!defined('_SHOP_COMMON_')) exit; // 모바일 페이지로 직접 접근하는 것을 막음
$ev_id = isset($_GET['ev_id']) ? (int) $_GET['ev_id'] : 0;
+1 -1
View File
@@ -40,7 +40,7 @@ $sql = " select count(*) as cnt
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$rows = $config['cf_mobile_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
+1 -1
View File
@@ -40,7 +40,7 @@ $sql = " select count(*) as cnt
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$rows = $config['cf_mobile_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
+1 -1
View File
@@ -2,7 +2,7 @@
// 해당 페이지는 사용자가 ISP{국민/BC) 카드 결제를 성공하였을 때, 사용자에게 보여지는 페이지입니다.
include_once('./_common.php');
$LGD_OID = $_GET['LGD_OID'];
$LGD_OID = clean_xss_tags($_GET['LGD_OID']);
echo "LGD_OID = ".$LGD_OID;
+1 -1
View File
@@ -2,7 +2,7 @@
include_once('./_common.php');
// 테마에 mypage.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
if(defined('G5_THEME_MSHOP_PATH')) {
$theme_mypage_file = G5_THEME_MSHOP_PATH.'/mypage.php';
if(is_file($theme_mypage_file)) {
include_once($theme_mypage_file);
+1 -1
View File
@@ -49,7 +49,7 @@ if ($total_count == 0)
alert('주문이 존재하지 않습니다.');
}
$rows = $config['cf_page_rows'];
$rows = $config['cf_mobile_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
+1 -1
View File
@@ -4,7 +4,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (!defined("_ORDERINQUIRY_")) exit; // 개별 페이지 접근 불가
// 테마에 orderinquiry.sub.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
if(defined('G5_THEME_MSHOP_PATH')) {
$theme_inquiry_file = G5_THEME_MSHOP_PATH.'/orderinquiry.sub.php';
if(is_file($theme_inquiry_file)) {
include_once($theme_inquiry_file);
+1 -1
View File
@@ -2,7 +2,7 @@
include_once('./_common.php');
// 테마에 orderinquiryview.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
if(defined('G5_THEME_MSHOP_PATH')) {
$theme_inquiryview_file = G5_THEME_MSHOP_PATH.'/orderinquiryview.php';
if(is_file($theme_inquiryview_file)) {
include_once($theme_inquiryview_file);
+1
View File
@@ -54,6 +54,7 @@ $BANK_CODE = array(
'88' => '신한은행',
'89' => '케이뱅크',
'90' => '카카오뱅크',
'92' => '토스뱅크',
'D1' => '동양종합금융증권',
'D2' => '현대증권',
'D3' => '미래에셋증권',
+1 -1
View File
@@ -2,7 +2,7 @@
include_once('./_common.php');
// 테마에 wishlist.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
if(defined('G5_THEME_MSHOP_PATH')) {
$theme_wishlist_file = G5_THEME_MSHOP_PATH.'/wishlist.php';
if(is_file($theme_wishlist_file)) {
include_once($theme_wishlist_file);
@@ -3,7 +3,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css">', 0);
if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
add_javascript('<script src="'.G5_JS_URL.'/certify.js?v='.G5_JS_VER.'"></script>', 0);
?>
<!-- 기존 회원 본인인증 시작 { -->
@@ -17,7 +17,7 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
<input type="hidden" name="mb_name" value="<?php echo $member['mb_name']; ?>">
<input type="hidden" name="cert_no" value="">
<section id="member_cert_refresh_private">
<h2>추가 개인정보처리방침 안내</h2>
<h2>(필수) 추가 개인정보처리방침 안내</h2>
<div>
<div class="tbl_head01 tbl_wrap">
<table>
@@ -46,24 +46,20 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
<fieldset class="member_cert_refresh_agree">
<input type="checkbox" name="agree2" value="1" id="agree21" class="selec_chk">
<label for="agree21"><span></span><b class="sound_only">개인정보 수집 및 이용의 내용에 동의합니다.</b></label>
<label for="agree21"><span></span><b class="sound_only">추가 개인정보처리방침에 동의합니다.</b></label>
</fieldset>
</section>
<div id="find_info" class="new_win">
<h3>본인인증으로 찾기</h3>
<section id="find_info" class="new_win">
<h2>인증수단 선택하기</h2>
<div class="find_btn">
<?php
if ($config['cf_cert_use']) {
echo '<div class="cert_btn">';
if ($config['cf_cert_sa']) {
echo '<button type="button" id="win_sa_toss_cert" class="btn_close win_sa_cert" data-type="TOSS">토스 인증</button>' . PHP_EOL;
echo '<button type="button" id="win_sa_pass_cert" class="btn_close win_sa_cert" data-type="PASS">PASS 인증</button>' . PHP_EOL;
echo '<button type="button" id="win_sa_payco_cert" class="btn_close win_sa_cert" data-type="PAYCO">페이코 인증</button>' . PHP_EOL;
echo '<button type="button" id="win_sa_kftc_cert" class="btn_close win_sa_cert" data-type="KFTC">금융인증서</button>' . PHP_EOL;
if ($config['cf_cert_simple']) {
echo '<button type="button" id="win_sa_kakao_cert" class="btn_submit win_sa_cert" data-type="">간편인증</button>' . PHP_EOL;
}
echo '</div>';
echo '<div class="win_btn">';
if ($config['cf_cert_hp'])
echo '<button type="button" id="win_hp_cert" class="btn_submit">휴대폰 본인확인</button>' . PHP_EOL;
if ($config['cf_cert_ipin'])
@@ -72,7 +68,8 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>' . PHP_EOL;
}
?>
</div>
</div>
</section>
</form>
<script>
@@ -80,9 +77,9 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
var pageTypeParam = "pageType=register";
var f = document.fcertrefreshform;
<?php if ($config['cf_cert_use'] && $config['cf_cert_sa']) { ?>
// 이니시스 통합인증
var url = "<?php echo G5_KGCERT_URL; ?>/kg_request.php";
<?php if ($config['cf_cert_use'] && $config['cf_cert_simple']) { ?>
// 이니시스 간편인증
var url = "<?php echo G5_INICERT_URL; ?>/ini_request.php";
var type = "";
var params = "";
var request_url = "";
@@ -90,30 +87,9 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
$(".win_sa_cert").click(function() {
if (!fcertrefreshform_submit(f)) return false;
type = $(this).data("type");
switch (type) {
case "TOSS":
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "PASS":
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "PAYCO":
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "KFTC":
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
default:
return;
}
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
});
<?php } ?>
@@ -164,7 +140,7 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
function fcertrefreshform_submit(f) {
if (!f.agree2.checked) {
alert("개인정보 수집 및 이용의 내용에 동의하셔야 인증을 진행하실 수 있습니다.");
alert("추가 개인정보처리방침에 동의하셔야 인증을 진행하실 수 있습니다.");
f.agree2.focus();
return false;
}
+12 -38
View File
@@ -4,12 +4,12 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
if($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?>
if($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?>
<script src="<?php echo G5_JS_URL ?>/certify.js?v=<?php echo G5_JS_VER; ?>"></script>
<?php } ?>
<!-- 회원정보 찾기 시작 { -->
<div id="find_info" class="new_win <?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?> cert <?php } ?>">
<div id="find_info" class="new_win<?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?> cert<?php } ?>">
<div class="new_win_con">
<form name="fpasswordlost" action="<?php echo $action_url ?>" onsubmit="return fpasswordlost_submit(this);" method="post" autocomplete="off">
<h3>이메일로 찾기</h3>
@@ -29,24 +29,19 @@ if($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] |
</form>
</div>
<?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?>
<div class="new_win_con">
<div class="new_win_con find_btn">
<h3>본인인증으로 찾기</h3>
<?php if(!empty($config['cf_cert_sa'])) { ?>
<div class="cert_btn">
<button type="button" id="win_sa_toss_cert" class="btn_close win_sa_cert" data-type="TOSS">토스 인증</button>
<button type="button" id="win_sa_pass_cert" class="btn_close win_sa_cert" data-type="PASS">PASS 인증</button>
<button type="button" id="win_sa_payco_cert" class="btn_close win_sa_cert" data-type="PAYCO">페이코 인증</button>
<button type="button" id="win_sa_kftc_cert" class="btn_close win_sa_cert" data-type="KFTC">금융인증서</button>
</div>
<?php if(!empty($config['cf_cert_simple'])) { ?>
<button type="button" id="win_sa_kakao_cert" class="btn_submit win_sa_cert" data-type="">간편인증</button>
<?php } if(!empty($config['cf_cert_hp']) || !empty($config['cf_cert_ipin'])) { ?>
<div class="win_btn">
<?php if(!empty($config['cf_cert_hp'])) { ?>
<button type="button" id="win_hp_cert" class="btn_submit">휴대폰 본인확인</button>
<?php } if(!empty($config['cf_cert_ipin'])) { ?>
<button type="button" id="win_ipin_cert" class="btn_submit">아이핀 본인확인</button>
<?php } ?>
</div>
<?php } ?>
</div>
</div>
<?php } ?>
</div>
@@ -55,9 +50,9 @@ $(function() {
$("#reg_zip_find").css("display", "inline-block");
var pageTypeParam = "pageType=find";
<?php if($config['cf_cert_use'] && $config['cf_cert_sa']) { ?>
// TOSS 통합인증
var url = "<?php echo G5_KGCERT_URL; ?>/kg_request.php";
<?php if($config['cf_cert_use'] && $config['cf_cert_simple']) { ?>
// TOSS 간편인증
var url = "<?php echo G5_INICERT_URL; ?>/ini_request.php";
var type = "";
var params = "";
var request_url = "";
@@ -65,30 +60,9 @@ $(function() {
$(".win_sa_cert").click(function() {
type = $(this).data("type");
switch(type) {
case "TOSS" :
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "PASS" :
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "PAYCO" :
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "KFTC" :
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
default :
return;
}
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
});
<?php } ?>
<?php if($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
@@ -12,7 +12,8 @@ add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css"
<fieldset id="info_fs">
<p>새로운 비밀번호를 입력해주세요.</p>
<label for="mb_id" class="sound_only">아이디</label>
<input type="text" name="mb_id" id="mb_id" value="<?php echo $_POST['mb_id']; ?>" required class="required frm_input full_input" size="30" placeholder="아이디" readonly>
<br>
<b>회원 아이디 : <?php echo $_POST['mb_id']; ?></b>
<label for="mb_pw" class="sound_only">새 비밀번호<strong class="sound_only">필수</strong></label>
<input type="password" name="mb_password" id="mb_pw" required class="required frm_input full_input" size="30" placeholder="새 비밀번호">
<label for="mb_pw2" class="sound_only">새 비밀번호 확인<strong class="sound_only">필수</strong></label>
@@ -28,7 +29,7 @@ add_stylesheet('<link rel="stylesheet" href="' . $member_skin_url . '/style.css"
<script>
function fpasswordreset_submit(f) {
if ($("#mb_pw").val() == $("#mb_pw2").val()) {
alert("비밀번호가 변경되었습니다. 다시 로그인해주세요.");
alert("비밀번호 변경되었습니다. 다시 로그인해 주세요.");
} else {
alert("새 비밀번호와 비밀번호 확인이 일치하지 않습니다.");
return false;
+53 -67
View File
@@ -4,7 +4,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
add_javascript('<script src="'.G5_JS_URL.'/jquery.register_form.js"></script>', 0);
if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
add_javascript('<script src="'.G5_JS_URL.'/certify.js?v='.G5_JS_VER.'"></script>', 0);
?>
@@ -26,18 +26,18 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
<h2>사이트 이용정보 입력</h2>
<ul>
<li>
<label for="reg_mb_id" class="sound_only">아이디<strong>필수</strong></label>
<input type="text" name="mb_id" value="<?php echo $member['mb_id'] ?>" id="reg_mb_id" class="frm_input full_input <?php echo $required ?> <?php echo $readonly ?>" minlength="3" maxlength="20" <?php echo $required ?> <?php echo $readonly ?> placeholder="아이디">
<label for="reg_mb_id" class="sound_only">아이디 (필수)</label>
<input type="text" name="mb_id" value="<?php echo $member['mb_id'] ?>" id="reg_mb_id" class="frm_input full_input <?php echo $required ?> <?php echo $readonly ?>" minlength="3" maxlength="20" <?php echo $required ?> <?php echo $readonly ?> placeholder="아이디 (필수)">
<span id="msg_mb_id"></span>
<span class="frm_info">영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요.</span>
</li>
<li class="password">
<label for="reg_mb_password" class="sound_only">비밀번호<strong>필수</strong></label>
<input type="password" name="mb_password" id="reg_mb_password" class="frm_input full_input <?php echo $required ?>" minlength="3" maxlength="20" <?php echo $required ?> placeholder="비밀번호">
<label for="reg_mb_password" class="sound_only">비밀번호 (필수)</label>
<input type="password" name="mb_password" id="reg_mb_password" class="frm_input full_input <?php echo $required ?>" minlength="3" maxlength="20" <?php echo $required ?> placeholder="비밀번호 (필수)">
</li>
<li>
<label for="reg_mb_password_re" class="sound_only">비밀번호 확인<strong>필수</strong></label>
<input type="password" name="mb_password_re" id="reg_mb_password_re" class="frm_input full_input <?php echo $required ?>" minlength="3" maxlength="20" <?php echo $required ?> placeholder="비밀번호확인">
<label for="reg_mb_password_re" class="sound_only">비밀번호확인 (필수)</label>
<input type="password" name="mb_password_re" id="reg_mb_password_re" class="frm_input full_input <?php echo $required ?>" minlength="3" maxlength="20" <?php echo $required ?> placeholder="비밀번호확인 (필수)">
</li>
</ul>
</div>
@@ -46,27 +46,34 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
<h2>개인정보 입력</h2>
<ul>
<li>
<?php
if($config['cf_cert_use']) {
if($config['cf_cert_sa']) {
echo '<button type="button" id="win_sa_toss_cert" class="btn_frmline btn win_sa_cert" data-type="TOSS">토스 인증</button>'.PHP_EOL;
echo '<button type="button" id="win_sa_pass_cert" class="btn_frmline btn win_sa_cert" data-type="PASS">PASS 인증</button>'.PHP_EOL;
echo '<button type="button" id="win_sa_payco_cert" class="btn_frmline btn win_sa_cert" data-type="PAYCO">페이코 인증</button>'.PHP_EOL;
echo '<button type="button" id="win_sa_kftc_cert" class="btn_frmline btn win_sa_cert" data-type="KFTC">금융인증서</button>'.PHP_EOL;
<?php
$desc_name = '';
$desc_phone = '';
if ($config['cf_cert_use']) {
$desc_name = ' - 본인확인 시 자동입력';
$desc_phone = ' - 본인확인 시 자동입력';
if (!$config['cf_cert_simple'] && !$config['cf_cert_hp'] && $config['cf_cert_ipin']) {
$desc_phone = '';
}
if($config['cf_cert_simple']) {
echo '<button type="button" id="win_sa_kakao_cert" class="btn_frmline btn win_sa_cert" data-type="">간편인증</button>'.PHP_EOL;
}
if($config['cf_cert_hp'])
echo '<button type="button" id="win_hp_cert" class="btn_frmline btn">휴대폰 본인확인</button>'.PHP_EOL;
if($config['cf_cert_ipin'])
if ($config['cf_cert_ipin'])
echo '<button type="button" id="win_ipin_cert" class="btn_frmline btn">아이핀 본인확인</button>'.PHP_EOL;
echo '<span class="cert_req">(필수)</span>';
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
}
?>
<?php
if ($config['cf_cert_use'] && $member['mb_certify']) {
switch ($member['mb_certify']) {
case "sa":
$mb_cert = "통합인증";
case "simple":
$mb_cert = "간편인증";
break;
case "ipin":
$mb_cert = "아이핀";
@@ -82,26 +89,26 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
<?php } ?>
</li>
<li class="rgs_name_li">
<label for="reg_mb_name" class="sound_only">이름<strong>필수</strong></label>
<input type="text" id="reg_mb_name" name="mb_name" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $required ?> <?php echo $name_readonly; ?> class="frm_input full_input <?php echo $required ?> <?php echo $name_readonly ?>" placeholder="이름">
<label for="reg_mb_name" class="sound_only">이름 (필수)<?php echo $desc_name ?></label>
<input type="text" id="reg_mb_name" name="mb_name" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $required ?> <?php echo $name_readonly; ?> class="frm_input full_input <?php echo $required ?> <?php echo $name_readonly ?>" placeholder="이름 (필수)<?php echo $desc_name ?>">
</li>
<?php if ($req_nick) { ?>
<li>
<label for="reg_mb_nick" class="sound_only">닉네임<strong>필수</strong></label>
<label for="reg_mb_nick" class="sound_only">닉네임 (필수)</label>
<span class="frm_info">
공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)<br>
닉네임을 바꾸시면 앞으로 <?php echo (int)$config['cf_nick_modify'] ?>일 이내에는 변경 할 수 없습니다.
</span>
<input type="hidden" name="mb_nick_default" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):''; ?>">
<input type="text" name="mb_nick" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):''; ?>" id="reg_mb_nick" required class="frm_input full_input required nospace" maxlength="20" placeholder="닉네임">
<input type="text" name="mb_nick" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):''; ?>" id="reg_mb_nick" required class="frm_input full_input required nospace" maxlength="20" placeholder="닉네임 (필수)">
<span id="msg_mb_nick"></span>
</li>
<?php } ?>
<li>
<label for="reg_mb_email" class="sound_only">E-mail<strong>필수</strong></label>
<label for="reg_mb_email" class="sound_only">E-mail (필수)</label>
<?php if ($config['cf_use_email_certify']) { ?>
<span class="frm_info">
<?php if ($w=='') { echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; } ?>
@@ -109,29 +116,29 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
</span>
<?php } ?>
<input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
<input type="email" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email required" size="50" maxlength="100" placeholder="E-mail">
<input type="email" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email required" size="50" maxlength="100" placeholder="E-mail (필수)">
</li>
<?php if ($config['cf_use_homepage']) { ?>
<li>
<label for="reg_mb_homepage" class="sound_only">홈페이지<?php if ($config['cf_req_homepage']){ ?><strong>필수</strong><?php } ?></label>
<input type="text" name="mb_homepage" value="<?php echo get_text($member['mb_homepage']) ?>" id="reg_mb_homepage" class="frm_input full_input <?php echo $config['cf_req_homepage']?"required":""; ?>" maxlength="255" <?php echo $config['cf_req_homepage']?"required":""; ?> placeholder="홈페이지">
<label for="reg_mb_homepage" class="sound_only">홈페이지<?php if ($config['cf_req_homepage']){ ?> (필수)<?php } ?></label>
<input type="text" name="mb_homepage" value="<?php echo get_text($member['mb_homepage']) ?>" id="reg_mb_homepage" class="frm_input full_input <?php echo $config['cf_req_homepage']?"required":""; ?>" maxlength="255" <?php echo $config['cf_req_homepage']?"required":""; ?> placeholder="홈페이지<?php if ($config['cf_req_homepage']){ ?> (필수)<?php } ?>">
</li>
<?php } ?>
<?php if ($config['cf_use_tel']) { ?>
<li>
<label for="reg_mb_tel" class="sound_only">전화번호<?php if ($config['cf_req_tel']) { ?><strong>필수</strong><?php } ?></label>
<input type="text" name="mb_tel" value="<?php echo get_text($member['mb_tel']) ?>" id="reg_mb_tel" class="frm_input full_input <?php echo $config['cf_req_tel']?"required":""; ?>" <?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_sa']) && $member['mb_certify']) { echo "readonly"; } ?> maxlength="20" <?php echo $config['cf_req_tel']?"required":""; ?> placeholder="전화번호">
<label for="reg_mb_tel" class="sound_only">전화번호<?php if ($config['cf_req_tel']) { ?> (필수)<?php } ?></label>
<input type="text" name="mb_tel" value="<?php echo get_text($member['mb_tel']) ?>" id="reg_mb_tel" class="frm_input full_input <?php echo $config['cf_req_tel']?"required":""; ?>" <?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_simple']) && $member['mb_certify']) { echo "readonly"; } ?> maxlength="20" <?php echo $config['cf_req_tel']?"required":""; ?> placeholder="전화번호<?php if ($config['cf_req_tel']) { ?> (필수)<?php } ?>">
</li>
<?php } ?>
<?php if ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_sa']))) { ?>
<?php if ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_simple']))) { ?>
<li>
<label for="reg_mb_hp">휴대폰번호<?php if (!empty($hp_required)) { ?><strong class="sound_only">필수</strong><?php } ?></label>
<label for="reg_mb_hp" class="sound_only">휴대폰번호<?php if (!empty($hp_required)) { ?> (필수)<?php } ?><?php echo $desc_phone ?></label>
<input type="text" name="mb_hp" value="<?php echo get_text($member['mb_hp']) ?>" id="reg_mb_hp" <?php echo $hp_required; ?> <?php echo $hp_readonly; ?> class="frm_input full_input <?php echo $hp_required; ?> <?php echo $hp_readonly; ?>" maxlength="20" placeholder="휴대폰번호">
<?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_sa'])) { ?>
<input type="text" name="mb_hp" value="<?php echo get_text($member['mb_hp']) ?>" id="reg_mb_hp" <?php echo $hp_required; ?> <?php echo $hp_readonly; ?> class="frm_input full_input <?php echo $hp_required; ?> <?php echo $hp_readonly; ?>" maxlength="20" placeholder="휴대폰번호<?php if (!empty($hp_required)) { ?> (필수)<?php } ?><?php echo $desc_phone ?>">
<?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_simple'])) { ?>
<input type="hidden" name="old_mb_hp" value="<?php echo get_text($member['mb_hp']) ?>">
<?php } ?>
@@ -141,13 +148,13 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
<?php if ($config['cf_use_addr']) { ?>
<li>
<div class="adress">
<span class="frm_label sound_only">주소<?php if ($config['cf_req_addr']) { ?>필수<?php } ?></span>
<label for="reg_mb_zip" class="sound_only">우편번호<?php echo $config['cf_req_addr']?'<strong class="sound_only"> 필수</strong>':''; ?></label>
<input type="text" name="mb_zip" value="<?php echo $member['mb_zip1'].$member['mb_zip2']; ?>" id="reg_mb_zip" <?php echo $config['cf_req_addr']?"required":""; ?> class="frm_input <?php echo $config['cf_req_addr']?"required":""; ?>" size="5" maxlength="6" placeholder="우편번호">
<span class="frm_label sound_only">주소<?php if ($config['cf_req_addr']) { ?> (필수)<?php } ?></span>
<label for="reg_mb_zip" class="sound_only">우편번호<?php echo $config['cf_req_addr']?' (필수)':''; ?></label>
<input type="text" name="mb_zip" value="<?php echo $member['mb_zip1'].$member['mb_zip2']; ?>" id="reg_mb_zip" <?php echo $config['cf_req_addr']?"required":""; ?> class="frm_input <?php echo $config['cf_req_addr']?"required":""; ?>" size="5" maxlength="6" placeholder="우편번호<?php echo $config['cf_req_addr']?' (필수)':''; ?>">
<button type="button" class="btn_frmline" onclick="win_zip('fregisterform', 'mb_zip', 'mb_addr1', 'mb_addr2', 'mb_addr3', 'mb_addr_jibeon');">주소검색</button><br>
</div>
<label for="reg_mb_addr1" class="sound_only">주소<?php echo $config['cf_req_addr']?'<strong class="sound_only"> 필수</strong>':''; ?></label>
<input type="text" name="mb_addr1" value="<?php echo get_text($member['mb_addr1']) ?>" id="reg_mb_addr1" <?php echo $config['cf_req_addr']?"required":""; ?> class="frm_input frm_address <?php echo $config['cf_req_addr']?"required":""; ?>" size="50" placeholder="주소"><br>
<label for="reg_mb_addr1" class="sound_only">주소<?php echo $config['cf_req_addr']?' (필수)':''; ?></label>
<input type="text" name="mb_addr1" value="<?php echo get_text($member['mb_addr1']) ?>" id="reg_mb_addr1" <?php echo $config['cf_req_addr']?"required":""; ?> class="frm_input frm_address <?php echo $config['cf_req_addr']?"required":""; ?>" size="50" placeholder="주소<?php echo $config['cf_req_addr']?' (필수)':''; ?>"><br>
<label for="reg_mb_addr2" class="sound_only">상세주소</label>
<input type="text" name="mb_addr2" value="<?php echo get_text($member['mb_addr2']) ?>" id="reg_mb_addr2" class="frm_input frm_address" size="50" placeholder="상세주소">
<br>
@@ -165,8 +172,8 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
<ul>
<?php if ($config['cf_use_signature']) { ?>
<li>
<label for="reg_mb_signature" class="sound_only">서명<?php if ($config['cf_req_signature']){ ?><strong>필수</strong><?php } ?></label>
<textarea name="mb_signature" id="reg_mb_signature" class="<?php echo $config['cf_req_signature']?"required":""; ?>" <?php echo $config['cf_req_signature']?"required":""; ?> placeholder="서명"><?php echo $member['mb_signature'] ?></textarea>
<label for="reg_mb_signature" class="sound_only">서명<?php if ($config['cf_req_signature']){ ?> (필수)<?php } ?></label>
<textarea name="mb_signature" id="reg_mb_signature" class="<?php echo $config['cf_req_signature']?"required":""; ?>" <?php echo $config['cf_req_signature']?"required":""; ?> placeholder="서명<?php if ($config['cf_req_signature']){ ?> (필수)<?php } ?>"><?php echo $member['mb_signature'] ?></textarea>
</li>
<?php } ?>
@@ -288,9 +295,9 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
$("#reg_zip_find").css("display", "inline-block");
var pageTypeParam = "pageType=register";
<?php if($config['cf_cert_use'] && $config['cf_cert_sa']) { ?>
// 이니시스 통합인증
var url = "<?php echo G5_KGCERT_URL; ?>/kg_request.php";
<?php if($config['cf_cert_use'] && $config['cf_cert_simple']) { ?>
// 이니시스 간편인증
var url = "<?php echo G5_INICERT_URL; ?>/ini_request.php";
var type = "";
var params = "";
var request_url = "";
@@ -298,30 +305,9 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
$(".win_sa_cert").click(function() {
if(!cert_confirm()) return false;
type = $(this).data("type");
switch(type) {
case "TOSS" :
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "PASS" :
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "PAYCO" :
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "KFTC" :
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
default :
return;
}
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
});
<?php } ?>
<?php if($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
@@ -375,8 +361,8 @@ if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin']
var type;
switch(val) {
case "sa":
type = "통합인증";
case "simple":
type = "간편인증";
break;
case "ipin":
type = "아이핀";
+6 -4
View File
@@ -27,10 +27,11 @@
#fregisterform .btn_confirm {text-align:center;margin:20px 0}
#fregisterform .btn_confirm .btn_submit {width:49%;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em}
#fregisterform .btn_confirm .btn_cancel {width:49%;line-height:45px;height:45px;padding:0 30px;font-weight:bold;border-radius:3px;border:1px solid #dcdcdc;font-size:1.083em;background:#fff}
#fregisterform .cert_req {margin-left:5px;line-height:28px;}
#fregisterform #reg_mb_email, #fregisterform .frm_address {width:100%}
#fregisterform textarea {width:100%;height:84px}
#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
#fregisterform #msg_certify {margin:5px 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
#fregisterform .frm_address,
#fregisterform .password {margin:-1px 0 0}
#fregisterform .password .frm_input {border-bottom:0}
@@ -63,7 +64,7 @@
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.fregister_agree input[type="checkbox"] + label {color:#676e70}
.fregister_agree input[type="checkbox"] + label:hover {color:#2172f8}
.fregister_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.fregister_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #999;border-radius:3px}
.fregister_agree input[type="checkbox"]:checked + label {color:#000}
.fregister_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.fregister_agree.chk_all input[type="checkbox"] + label span {top:15px}
@@ -89,6 +90,7 @@
#find_info #info_fs p {margin:0 0 10px;line-height:1.5em;font-size:0.92em;color:#4162ff}
#find_info #info_fs #mb_email {width:100%}
#find_info #captcha {margin:5px 0}
#find_info .find_btn .btn_submit {margin:5px 0;width:100%;}
/* 비밀번호 재설정 */
#pw_reset #info_fs {margin-bottom: 10px}
@@ -107,12 +109,12 @@
#member_cert_refresh_private .tbl_head01 caption {position:absolute;font-size:0;line-height:0;overflow:hidden;top:0;color:#fff}
.member_cert_refresh_agree input[type="checkbox"] + label {color:#676e70}
.member_cert_refresh_agree input[type="checkbox"] + label:hover {color:#2172f8}
.member_cert_refresh_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.member_cert_refresh_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #999;border-radius:3px}
.member_cert_refresh_agree input[type="checkbox"]:checked + label {color:#000}
.member_cert_refresh_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.member_cert_refresh_agree.chk_all input[type="checkbox"] + label span {top:15px}
#member_cert_refresh #find_info {padding:30px 0}
#member_cert_refresh #find_info .find_btn > div {margin:10px 0;padding:0}
/* 로그인 */
#mb_login {}
+9 -4
View File
@@ -346,10 +346,10 @@ $(function (){
<div id="sit_tab">
<ul class="tab_tit">
<li><button type="button" rel="#sit_inf" class="selected">상품정보</button></li>
<li><button type="button" rel="#sit_use">사용후기</button></li>
<li><button type="button" rel="#sit_qa">상품문의</button></li>
<li><button type="button" rel="#sit_dvex">배송/교환</button></li>
<li><button type="button" id="btn_sit_inf" rel="#sit_inf" class="selected">상품정보</button></li>
<li><button type="button" id="btn_sit_use" rel="#sit_use">사용후기</button></li>
<li><button type="button" id="btn_sit_qa" rel="#sit_qa">상품문의</button></li>
<li><button type="button" id="btn_sit_dvex" rel="#sit_dvex">배송/교환</button></li>
</ul>
<ul class="tab_con">
@@ -516,6 +516,11 @@ $(function(){
return false;
});
if (window.location.href.split("#").length > 1) {
let id = window.location.href.split("#")[1];
$("#btn_" + id).trigger("click");
};
});
// 상품보관
+1 -8
View File
@@ -93,19 +93,12 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_MSHOP_SKIN_URL.'/style.css">',
$is_reply_content = get_view_thumbnail(conv_content($row['is_reply_content'], 1), $thumbnail_width);
?>
<div class="sps_reply">
<div class="sps_img">
<a href="<?php echo $it_href; ?>">
<?php echo get_itemuselist_thumbnail($row['it_id'], $row['is_reply_content'], 50, 50); ?>
<span><?php echo $row2['it_name']; ?></span>
</a>
</div>
<section>
<h2 class="is_use_reply"><?php echo get_text($row['is_reply_subject']); ?></h2>
<div class="sps_dl">
<?php echo $row['is_reply_name']; ?>
</div>
<div id="sps_con_<?php echo $i; ?>_reply" style="display:none;">
<div id="sps_con_<?php echo $i; ?>_reply">
<?php echo $is_reply_content; // 사용후기 답변 내용 ?>
</div>
</section>
+1 -1
View File
@@ -44,12 +44,12 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
<div id="ssch_cate">
<ul>
<?php
echo '<li><a href="#" onclick="set_ca_id(\'\'); return false;">전체분류 <span>'.$total_count.'</span></a></li>'.PHP_EOL;
$total_cnt = 0;
foreach( $categorys as $row ){
echo "<li><a href=\"#\" onclick=\"set_ca_id('{$row['ca_id']}'); return false;\">{$row['ca_name']} <span>".$row['cnt']."</span></a></li>\n";
$total_cnt += $row['cnt'];
}
echo '<li><a href="#" onclick="set_ca_id(\'\'); return false;">전체분류 <span>'.$total_cnt.'</span></a></li>'.PHP_EOL;
?>
</ul>
</div>
@@ -11,7 +11,7 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal-defau
add_stylesheet('<link rel="stylesheet" href="'.get_social_skin_url().'/style.css?ver='.G5_CSS_VER.'">', 13);
add_javascript('<script src="'.G5_JS_URL.'/remodal/remodal.js"></script>', 10);
add_javascript('<script src="<?php echo G5_JS_URL ?>/jquery.register_form.js"></script>', 14);
if ($config['cf_cert_use'] && ($config['cf_cert_sa'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
if ($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp']))
add_javascript('<script src="'.G5_JS_URL.'/certify.js?v='.G5_JS_VER.'"></script>', 15);
$email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.다른 이메일을 입력해 주세요.' : '';
@@ -91,9 +91,9 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
<?php if ($config["cf_cert_use"]) { ?>
<input type="hidden" id="reg_mb_name" name="mb_name" value="<?php echo $user_name ? $user_name : $user_nick ?>">
<?php } ?>
<?php if ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_sa']))) { ?>
<?php if ($config['cf_use_hp'] || ($config["cf_cert_use"] && ($config['cf_cert_hp'] || $config['cf_cert_simple']))) { ?>
<input type="hidden" name="mb_hp" value="<?php echo get_text($user_phone); ?>" id="reg_mb_hp">
<?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_sa'])) { ?>
<?php if ($config['cf_cert_use'] && ($config['cf_cert_hp'] || $config['cf_cert_simple'])) { ?>
<input type="hidden" name="old_mb_hp" value="<?php echo get_text($user_phone); ?>">
<?php } ?>
<?php } ?>
@@ -102,38 +102,36 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
<h2>개인정보 입력</h2>
<ul>
<li>
<?php
<?php
if ($config['cf_cert_use']) {
if ($config['cf_cert_sa']) {
echo '<button type="button" id="win_sa_toss_cert" class="btn_frmline btn win_sa_cert" data-type="TOSS">토스 인증</button>'.PHP_EOL;
echo '<button type="button" id="win_sa_pass_cert" class="btn_frmline btn win_sa_cert" data-type="PASS">PASS 인증</button>'.PHP_EOL;
echo '<button type="button" id="win_sa_payco_cert" class="btn_frmline btn win_sa_cert" data-type="PAYCO">페이코 인증</button>'.PHP_EOL;
echo '<button type="button" id="win_sa_kftc_cert" class="btn_frmline btn win_sa_cert" data-type="KFTC">금융인증서</button>'.PHP_EOL;
if ($config['cf_cert_simple']) {
echo '<button type="button" id="win_sa_kakao_cert" class="btn_frmline btn win_sa_cert" data-type="">간편인증</button>'.PHP_EOL;
}
if ($config['cf_cert_hp'])
echo '<button type="button" id="win_hp_cert" class="btn_frmline btn">휴대폰 본인확인</button>' . PHP_EOL;
if ($config['cf_cert_ipin'])
echo '<button type="button" id="win_ipin_cert" class="btn_frmline btn">아이핀 본인확인</button>' . PHP_EOL;
echo '<span class="cert_req">(필수)</span>';
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>' . PHP_EOL;
}
?>
</li>
<?php if ($req_nick) { ?>
<li>
<label for="reg_mb_nick" class="sound_only">닉네임<strong>필수</strong></label>
<label for="reg_mb_nick" class="sound_only">닉네임 (필수)</label>
<span class="frm_info">
공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)<br>
닉네임을 바꾸시면 앞으로 <?php echo (int)$config['cf_nick_modify'] ?>일 이내에는 변경 할 수 없습니다.
</span>
<input type="hidden" name="mb_nick_default" value="<?php echo isset($user_nick) ? get_text($user_nick) : ''; ?>">
<input type="text" name="mb_nick" value="<?php echo isset($user_nick) ? get_text($user_nick) : ''; ?>" id="reg_mb_nick" required class="frm_input required nospace full_input" size="10" maxlength="20" placeholder="닉네임">
<input type="text" name="mb_nick" value="<?php echo isset($user_nick) ? get_text($user_nick) : ''; ?>" id="reg_mb_nick" required class="frm_input required nospace full_input" size="10" maxlength="20" placeholder="닉네임 (필수)">
<span id="msg_mb_nick"></span>
</li>
<?php } ?>
<li>
<label for="reg_mb_email" class="sound_only">E-mail<strong>필수</strong></label>
<label for="reg_mb_email" class="sound_only">E-mail (필수)</label>
<?php if ($config['cf_use_email_certify']) { ?>
<span class="frm_info">
<?php if ($w=='') { echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; } ?>
@@ -141,7 +139,7 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
</span>
<?php } ?>
<input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
<input type="text" name="mb_email" value="<?php echo isset($user_email) ? $user_email : ''; ?>" id="reg_mb_email" required <?php echo (isset($user_email) && $user_email != '' && !$is_exists_email)? "readonly":''; ?> class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail">
<input type="text" name="mb_email" value="<?php echo isset($user_email) ? $user_email : ''; ?>" id="reg_mb_email" required <?php echo (isset($user_email) && $user_email != '' && !$is_exists_email)? "readonly":''; ?> class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail (필수)">
<div class="check"><?php echo $email_msg; ?></div>
</li>
</ul>
@@ -186,9 +184,9 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
</div>
<div id="login_fs">
<label for="login_id" class="login_id">아이디<strong class="sound_only"> 필수</strong></label>
<label for="login_id" class="login_id">아이디 (필수)</label>
<span class="lg_id"><input type="text" name="mb_id" id="login_id" class="frm_input required" size="20" maxLength="20"></span>
<label for="login_pw" class="login_pw">비밀번호<strong class="sound_only"> 필수</strong></label>
<label for="login_pw" class="login_pw">비밀번호 (필수)</label>
<span class="lg_pw"><input type="password" name="mb_password" id="login_pw" class="frm_input required" size="20" maxLength="20"></span>
<br>
<input type="submit" value="연결하기" class="login_submit btn_submit">
@@ -212,9 +210,9 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
$("#reg_zip_find").css("display", "inline-block");
var pageTypeParam = "pageType=register";
<?php if ($config['cf_cert_use'] && $config['cf_cert_sa']) { ?>
// 이니시스 통합인증
var url = "<?php echo G5_KGCERT_URL; ?>/kg_request.php";
<?php if ($config['cf_cert_use'] && $config['cf_cert_simple']) { ?>
// 이니시스 간편인증
var url = "<?php echo G5_INICERT_URL; ?>/ini_request.php";
var type = "";
var params = "";
var request_url = "";
@@ -222,30 +220,9 @@ $email_msg = $is_exists_email ? '등록할 이메일이 중복되었습니다.
$(".win_sa_cert").click(function() {
if (!cert_confirm()) return false;
type = $(this).data("type");
switch (type) {
case "TOSS":
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "PASS":
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "PAYCO":
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
case "KFTC":
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
break;
default:
return;
}
params = "?directAgency=" + type + "&" + pageTypeParam;
request_url = url + params;
call_sa(request_url);
});
<?php } ?>
<?php if ($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
+3 -2
View File
@@ -113,10 +113,11 @@
#fregisterform .btn_confirm {text-align:center;margin:20px 0}
#fregisterform .btn_confirm .btn_submit {width:49%;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em}
#fregisterform .btn_confirm .btn_cancel {width:49%;line-height:45px;height:45px;padding:0 30px;font-weight:bold;border-radius:3px;border:1px solid #dcdcdc;font-size:1.083em;background:#fff}
#fregisterform .cert_req {margin-left:5px;line-height:28px;}
#fregisterform #reg_mb_email, #fregisterform .frm_address {width:100%}
#fregisterform textarea {width:100%;height:84px}
#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
#fregisterform #msg_certify {margin:5px 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
#fregisterform .frm_address,
#fregisterform .password {margin:-1px 0 0}
#fregisterform .password .frm_input {border-bottom:0}
@@ -149,7 +150,7 @@
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.fregister_agree input[type="checkbox"] + label {color:#676e70}
.fregister_agree input[type="checkbox"] + label:hover {color:#2172f8}
.fregister_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.fregister_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #999;border-radius:3px}
.fregister_agree input[type="checkbox"]:checked + label {color:#000}
.fregister_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.fregister_agree.chk_all input[type="checkbox"] + label span {top:15px}
+109
View File
@@ -0,0 +1,109 @@
<?php
include_once('./_common.php');
$txId = $_POST['txId'];
$mid = substr($txId, 6, 10);
if ($_POST["resultCode"] === "0000") {
$data = array(
'mid' => $mid,
'txId' => $txId
);
$post_data = json_encode($data);
// curl 통신 시작
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_POST["authRequestUrl"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$res_data = json_decode($response, true);
if($res_data['resultCode'] === "0000") {
$cert_type = 'simple'; // 인증타입
$cert_no = $res_data['txId']; // 이니시스 트랜잭션 ID
$phone_no = $res_data['userPhone']; // 전화번호
$user_name = $res_data['userName']; // 이름
$birth_day = $res_data['userBirthday']; // 생년월일
$ci = $res_data['userCi']; // CI
@insert_cert_history($member['mb_id'], 'inicis', $cert_type); // 인증성공 시 내역 기록
if(!$phone_no)
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
$md5_ci = md5($ci . $ci);
$phone_no = hyphen_hp_number($phone_no);
$mb_dupinfo = $md5_ci;
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}'"); // ci데이터로 찾음
if(empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
//set_session("ss_cert_sex", ($sex_code=="01"?"M":"F")); // 이니시스 간편인증은 성별정보 리턴 없음
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
} else {
// 인증실패 curl의 인증실패 체크
alert_close('코드 : '.$res_data['resultCode'].' '.urldecode($res_data['resultMsg']));
exit;
}
} else { // resultCode===0000 아닐경우 아래 인증 실패를 출력함
// 인증실패
alert_close('코드 : '.$_POST['resultCode'].' '.urldecode($_POST['resultMsg']));
exit;
}
$g5['title'] = 'KG이니시스 간편인증 결과';
include_once(G5_PATH.'/head.sub.php');
?>
<form name="mbFindForm" method="POST">
<input type="hidden" name="mb_id" value="<?php echo $row["mb_id"]; ?>">
</form>
<script>
jQuery(function($) {
var $opener = window.opener;
var is_mobile = false;
$opener.name="parentPage";
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
$opener = window.parent;
is_mobile = true;
} else {
$opener = window.opener;
}
document.mbFindForm.target = "parentPage";
document.mbFindForm.action = "<?php echo G5_BBS_URL.'/password_reset.php'?>";
document.mbFindForm.submit();
alert("본인인증이 완료되었습니다.");
window.close();
});
</script>
<?php
include_once(G5_PATH.'/tail.sub.php');
+83
View File
@@ -0,0 +1,83 @@
<?php
include_once('./_common.php');
$sql = "select MAX(cr_id) as max_cr_id from {$g5['cert_history_table']} limit 1";
$res = sql_fetch($sql);
$max_cr_id = $res['max_cr_id'];
if(empty($max_cr_id)) $max_cr_id = 0;
if($config['cf_cert_use'] == 2) { // 실서비스 일때
$mid = 'SRA'.$config['cf_cert_kg_mid']; // 부여받은 MID(상점ID) 입력(영업담당자 문의)
$apiKey = $config['cf_cert_kg_cd']; // 부여받은 MID 에 대한 apiKey
$mTxId ='SIR_'.$max_cr_id;
certify_count_check($member['mb_id'], 'simple'); // 금일 인증시도 횟수 체크
} else { // 테스트 일때
$mid = "INIiasTest";
$apiKey = "TGdxb2l3enJDWFRTbTgvREU3MGYwUT09";
$mTxId ='test_'.$max_cr_id;
}
$reqSvcCd ='01';
// 등록가맹점 확인
$plainText1 = hash("sha256",(string)$mid.(string)$mTxId.(string)$apiKey);
$authHash = $plainText1;
//$flgFixedUser = (!empty($member['mb_id']) && !empty($member['mb_name']) && !empty($member['mb_hp']) && !empty($member['mb_birth']))? 'Y' : 'N'; // 특정사용자 고정시 : Y 세팅및 아래 해시 데이터 생성
$flgFixedUser = 'N'; // 특정사용자 구분하지 않기로 하여 수정
// php8버전 값체크 경고 때문에 필수값이 아닌 값이 없을수 있는 선택값들은 초기화해주어야함
$userName = '';
$userPhone = '';
$userBirth = '';
$userHash = '';
if($flgFixedUser == 'Y') {
$userName = $member['mb_name']; // 사용자 이름
$userPhone = preg_replace("/-/","" , $member['mb_hp']); // 사용자 전화번호 하이픈만 제거
$userBirth = $member['mb_birth']; // 사용자 생년월일
$plainText2 = hash("sha256",(string)$userName.(string)$mid.(string)$userPhone.(string)$mTxId.(string)$userBirth.(string)$reqSvcCd);
$userHash = $plainText2;
}
switch($_GET['pageType']) {
case "register":
$resultPage = "/ini_result.php";
break;
case "find":
$resultPage = "/ini_find_result.php";
break;
default:
alert_close('잘못된 접근입니다.');
}
$resultUrl = G5_INICERT_URL . $resultPage;
$g5['title'] = 'KG이니시스 간편인증';
include_once(G5_PATH.'/head.sub.php');
?>
<form name="saForm">
<input type="hidden" name="mid" value="<?php echo $mid ?>"> <!-- 필수 값 -->
<input type="hidden" name="reqSvcCd" value="<?php echo $reqSvcCd ?>"> <!-- 필수 값 -->
<input type="hidden" name="mTxId" value="<?php echo $mTxId ?>"> <!-- 필수 값 -->
<input type="hidden" name="authHash" value="<?php echo $authHash ?>"> <!-- 필수 값 -->
<input type="hidden" name="flgFixedUser" value="<?php echo $flgFixedUser ?>"> <!-- 필수 값 Y/N 특정사용자 인증 요청 여부 -->
<input type="hidden" name="userName" value="<?php echo $userName ?>">
<input type="hidden" name="userPhone" value="<?php echo $userPhone ?>">
<input type="hidden" name="userBirth" value="<?php echo $userBirth ?>">
<input type="hidden" name="userHash" value="<?php echo $userHash ?>">
<input type="hidden" name="mbId" value="<?php echo $member['mb_id'] ?>">
<input type="hidden" name="directAgency" value="<?php echo $_GET['directAgency']; ?>">
<input type="hidden" name="successUrl" value="<?php echo $resultUrl; ?>"> <!-- 필수 값 -->
<input type="hidden" name="failUrl" value="<?php echo $resultUrl; ?>"> <!-- 필수 값 -->
<!-- successUrl / failUrl 은 분리 하여 이용가능!-->
</form>
<script>
document.saForm.setAttribute("target", "_self");
document.saForm.setAttribute("post", "post");
document.saForm.setAttribute("action", "https://sa.inicis.com/auth");
document.saForm.submit();
</script>
<?php
include_once(G5_PATH.'/tail.sub.php');
+110
View File
@@ -0,0 +1,110 @@
<?php
include_once('./_common.php');
$txId = $_POST['txId'];
$mid = substr($txId, 6, 10);
if ($_POST["resultCode"] === "0000") {
$data = array(
'mid' => $mid,
'txId' => $txId
);
$post_data = json_encode($data);
// curl 통신 시작
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_POST["authRequestUrl"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$res_data = json_decode($response, true);
// -------------------- 결과 수신 -------------------------------------------
// echo '<결과내역>'." '{$mid}' <br/><br/>";
// echo $response;
if($res_data['resultCode'] === "0000") {
$cert_type = 'simple'; // 인증타입
$cert_no = $res_data['txId']; // 이니시스 트랜잭션 ID
$phone_no = $res_data['userPhone']; // 전화번호
$user_name = $res_data['userName']; // 이름
$birth_day = $res_data['userBirthday']; // 생년월일
$ci = $res_data['userCi']; // CI
@insert_cert_history($member['mb_id'], 'inicis', $cert_type); // 인증성공 시 내역 기록
if(!$phone_no)
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
$mb_dupinfo = md5($ci . $ci);
$phone_no = hyphen_hp_number($phone_no);
// 명의 변경 체크
if (!empty($member['mb_certify']) && !empty($member['mb_dupinfo']) && strlen($member['mb_dupinfo']) != 64) { // 이미 인증된 계정중에 dupinfo가 di(64 length)가 아닐때
if($member['mb_dupinfo'] != $mb_dupinfo) alert_close("해당 계정은 이미 다른명의로 본인인증 되어있는 계정입니다.");
}
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
$row = sql_fetch($sql);
if (!empty($row['mb_id'])) {
alert_close("입력하신 본인확인 정보로 이미 가입된 내역이 존재합니다.\\n회원아이디 : ".$row['mb_id']);
}
// hash 데이터
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
//set_session("ss_cert_sex", ($sex_code=="01"?"M":"F")); // 이니시스 간편인증은 성별정보 리턴 없음
set_session('ss_cert_dupinfo', $mb_dupinfo);
} else {
// 인증실패 curl의 인증실패 체크
alert_close('코드 : '.$res_data['resultCode'].' '.urldecode($res_data['resultMsg']));
exit;
}
} else { // resultCode===0000 아닐경우 아래 인증 실패를 출력함
// 인증실패
alert_close('코드 : '.$_POST['resultCode'].' '.urldecode($_POST['resultMsg']));
exit;
}
$g5['title'] = 'KG이니시스 간편인증 결과';
include_once(G5_PATH.'/head.sub.php');
?>
<script>
jQuery(function($) {
var $opener = window.opener;
// 인증정보
$opener.$("input[name=cert_type]").val("<?php echo $cert_type; ?>");
$opener.$("input[name=mb_name]").val("<?php echo $user_name; ?>").attr("readonly", true);
$opener.$("input[name=mb_hp]").val("<?php echo $phone_no; ?>").attr("readonly", true);
$opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");
alert("본인인증이 완료되었습니다.");
if($opener.$("form[name=fcertrefreshform]") != undefined){
$opener.$("form[name=fcertrefreshform]").submit();
}
window.close();
});
</script>
<?php
include_once(G5_PATH.'/tail.sub.php');
+9 -3
View File
@@ -274,9 +274,15 @@ function chk_captcha()
return false;
}
if (!isset($_POST['captcha_key'])) return false;
if (!trim($_POST['captcha_key'])) return false;
if ($_POST['captcha_key'] != get_session('ss_captcha_key')) {
$post_captcha_key = (isset($_POST['captcha_key']) && $_POST['captcha_key']) ? trim($_POST['captcha_key']) : '';
if (!trim($post_captcha_key)) return false;
if( $post_captcha_key && function_exists('get_string_encrypt') ){
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
$post_captcha_key = get_string_encrypt($ip.$post_captcha_key);
}
if ($post_captcha_key != get_session('ss_captcha_key')) {
$_SESSION['ss_captcha_count'] = $captcha_count + 1;
return false;
}
+6 -1
View File
@@ -3,6 +3,11 @@ include_once("_common.php");
include_once('captcha.lib.php');
$captcha = new KCAPTCHA();
$captcha->setKeyString(get_session("ss_captcha_key"));
$ss_captcha_key = get_session("ss_captcha_key");
if( $ss_captcha_key && !preg_match('/^[0-9]/', $ss_captcha_key) && function_exists('get_string_decrypt') ){
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
$ss_captcha_key = str_replace($ip, '', get_string_decrypt($ss_captcha_key));
}
$captcha->setKeyString($ss_captcha_key);
$captcha->getKeyString();
$captcha->image();
+7 -1
View File
@@ -8,6 +8,10 @@ function make_mp3()
$number = get_session("ss_captcha_key");
if ($number == "") return;
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
if( $number && function_exists('get_string_decrypt') ){
$number = str_replace($ip, '', get_string_decrypt($number));
}
if ($number == get_session("ss_captcha_save")) return;
$mp3s = array();
@@ -16,7 +20,6 @@ function make_mp3()
$mp3s[] = $file;
}
$ip = sprintf("%u", ip2long($_SERVER['REMOTE_ADDR']));
$mp3_file = 'cache/kcaptcha-'.$ip.'_'.G5_SERVER_TIME.'.mp3';
$contents = '';
@@ -35,6 +38,9 @@ function make_mp3()
}
}
if( $number && function_exists('get_string_encrypt') ){
$number = get_string_encrypt($ip.$number);
}
set_session("ss_captcha_save", $number);
return G5_DATA_URL.'/'.$mp3_file;
+5
View File
@@ -9,5 +9,10 @@ if ($count >= 5) { // 설정값 이상이면 자동등록방지 입력 문자가
echo false;
} else {
set_session("ss_captcha_count", $count + 1);
if( $captcha_key && function_exists('get_string_encrypt') ){
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
$captcha_key = get_string_encrypt($ip.$captcha_key);
}
echo (get_session("ss_captcha_key") === $captcha_key) ? true : false;
}
+5
View File
@@ -11,6 +11,11 @@ while(true){
if(!preg_match('/cp|cb|ck|c6|c9|rn|rm|mm|co|do|cl|db|qp|qb|dp|ww/', $keystring)) break;
}
if( $keystring && function_exists('get_string_encrypt') ){
$ip = md5(sha1($_SERVER['REMOTE_ADDR']));
$keystring = get_string_encrypt($ip.$keystring);
}
set_session("ss_captcha_count", 0);
set_session("ss_captcha_key", $keystring);
$captcha = new KCAPTCHA();
+18
View File
@@ -159,7 +159,25 @@ if( $cert_enc_use == "Y" )
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
}else{
$mb_dupinfo = $md5_ci;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
set_session("ss_cert_sex", ($sex_code=="01"?"M":"F")); // 이니시스 간편인증은 성별정보 리턴 없음
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
}
else if( $res_cd != "0000" )
{
+8 -3
View File
@@ -151,6 +151,11 @@ if( $cert_enc_use == "Y" )
$phone_no = hyphen_hp_number($phone_no);
$mb_dupinfo = md5($ci.$ci);
// 명의 변경 체크
if (!empty($member['mb_certify']) && !empty($member['mb_dupinfo']) && strlen($member['mb_dupinfo']) != 64) { // 이미 인증된 계정중에 dupinfo가 di(64 length)가 아닐때
if($member['mb_dupinfo'] != $mb_dupinfo) alert_close("해당 계정은 이미 다른명의로 본인인증 되어있는 계정입니다.");
}
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
$row = sql_fetch($sql);
if (!empty($row['mb_id'])) {
@@ -160,7 +165,7 @@ if( $cert_enc_use == "Y" )
// hash 데이터
$cert_type = 'hp';
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$md5_cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
@@ -232,8 +237,8 @@ $(function() {
alert("본인의 휴대폰번호로 확인 되었습니다.");
if($opener.$("form[name=register_cert_reset]") != undefined){
$opener.$("form[name=register_cert_reset]").submit();
if($opener.$("form[name=fcertrefreshform]") != undefined){
$opener.$("form[name=fcertrefreshform]").submit();
}
window.close();
-93
View File
@@ -1,93 +0,0 @@
<?php
include_once('./_common.php');
$txId = $_POST['txId'];
$mid = substr($txId, 6, 10);
if ($_POST["resultCode"] === "0000") {
$data = array(
'mid' => $mid,
'txId' => $txId
);
$post_data = json_encode($data);
// curl 통신 시작
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_POST["authRequestUrl"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$res_data = json_decode($response, true);
if($res_data['resultCode'] === "0000") {
@insert_cert_history('@password_lost@', 'kg', 'sa'); // 인증성공 시 내역 기록
$cert_type = 'sa'; // 인증타입
$cert_no = $res_data['txId']; // 이니시스 트랜잭션 ID
$phone_no = $res_data['userPhone']; // 전화번호
$user_name = $res_data['userName']; // 이름
$birth_day = $res_data['userBirthday']; // 생년월일
$ci = $res_data['userCi']; // CI
if(!$phone_no)
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
$md5_ci = md5($ci . $ci);
$phone_no = hyphen_hp_number($phone_no);
$mb_dupinfo = $md5_ci;
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}'"); // ci데이터로 찾음
if(empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
} else {
// 인증실패 curl의 인증실패 체크
alert_close('코드 : '.$res_data['resultCode'].' '.urldecode($res_data['resultMsg']));
exit;
}
} else { // resultCode===0000 아닐경우 아래 인증 실패를 출력함
// 인증실패
alert_close('코드 : '.$_POST['resultCode'].' '.urldecode($_POST['resultMsg']));
exit;
}
$g5['title'] = 'KG이니시스 통합인증 결과';
include_once(G5_PATH.'/head.sub.php');
?>
<form name="mbFindForm" method="POST">
<input type="hidden" name="mb_id" value="<?php echo $row["mb_id"]; ?>">
</form>
<script>
jQuery(function($) {
var $opener = window.opener;
var is_mobile = false;
$opener.name="parentPage";
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
$opener = window.parent;
is_mobile = true;
} else {
$opener = window.opener;
}
document.mbFindForm.target = "parentPage";
document.mbFindForm.action = "<?php echo G5_BBS_URL.'/password_reset.php'?>";
document.mbFindForm.submit();
alert("본인인증이 완료되었습니다.");
window.close();
});
</script>
<?php
include_once(G5_PATH.'/tail.sub.php');
-84
View File
@@ -1,84 +0,0 @@
<?php
include_once('./_common.php');
if($_GET['directAgency'] == "KFTC") alert_close("서비스 준비중입니다.");
$sql = "select MAX(cr_id) as max_cr_id from {$g5['cert_history_table']} limit 1";
$res = sql_fetch($sql);
$max_cr_id = $res['max_cr_id'];
if(empty($max_cr_id)) $max_cr_id = 0;
if($config['cf_cert_use'] == 2) { // 실서비스 일때
$mid = 'SRA'.$config['cf_cert_kg_mid']; // 부여받은 MID(상점ID) 입력(영업담당자 문의)
$apiKey = $config['cf_cert_kg_cd']; // 부여받은 MID 에 대한 apiKey
$mTxId ='SIR_'.$max_cr_id;
certify_count_check($member['mb_id'], 'sa'); // 금일 인증시도 횟수 체크
} else { // 테스트 일때
$mid = "INIiasTest";
$apiKey = "TGdxb2l3enJDWFRTbTgvREU3MGYwUT09";
$mTxId ='test_'.$max_cr_id;
}
$reqSvcCd ='01';
// 등록가맹점 확인
$plainText1 = hash("sha256",(string)$mid.(string)$mTxId.(string)$apiKey);
$authHash = $plainText1;
$flgFixedUser = (!empty($member['mb_id']) && !empty($member['mb_name']) && !empty($member['mb_hp']) && !empty($member['mb_birth']))? 'Y' : 'N'; // 특정사용자 고정시 : Y 세팅및 아래 해시 데이터 생성
// php8버전 값체크 경고 때문에 필수값이 아닌 값이 없을수 있는 선택값들은 초기화해주어야함
$userName = '';
$userPhone = '';
$userBirth = '';
$userHash = '';
if($flgFixedUser == 'Y') {
$userName = $member['mb_name']; // 사용자 이름
$userPhone = preg_replace("/-/","" , $member['mb_hp']); // 사용자 전화번호 하이픈만 제거
$userBirth = $member['mb_birth']; // 사용자 생년월일
$plainText2 = hash("sha256",(string)$userName.(string)$mid.(string)$userPhone.(string)$mTxId.(string)$userBirth.(string)$reqSvcCd);
$userHash = $plainText2;
}
switch($_GET['pageType']) {
case "register":
$resultPage = "/kg_result.php";
break;
case "find":
$resultPage = "/kg_find_result.php";
break;
default:
alert_close('잘못된 접근입니다.');
}
$resultUrl = G5_KGCERT_URL . $resultPage;
$g5['title'] = 'KG이니시스 통합인증';
include_once(G5_PATH.'/head.sub.php');
?>
<form name="saForm">
<input type="hidden" name="mid" value="<?php echo $mid ?>"> <!-- 필수 값 -->
<input type="hidden" name="reqSvcCd" value="<?php echo $reqSvcCd ?>"> <!-- 필수 값 -->
<input type="hidden" name="mTxId" value="<?php echo $mTxId ?>"> <!-- 필수 값 -->
<input type="hidden" name="authHash" value="<?php echo $authHash ?>"> <!-- 필수 값 -->
<input type="hidden" name="flgFixedUser" value="<?php echo $flgFixedUser ?>"> <!-- 필수 값 Y/N 특정사용자 인증 요청 여부 -->
<input type="hidden" name="userName" value="<?php echo $userName ?>">
<input type="hidden" name="userPhone" value="<?php echo $userPhone ?>">
<input type="hidden" name="userBirth" value="<?php echo $userBirth ?>">
<input type="hidden" name="userHash" value="<?php echo $userHash ?>">
<input type="hidden" name="mbId" value="<?php echo $member['mb_id'] ?>">
<input type="hidden" name="directAgency" value="<?php echo $_GET['directAgency']; ?>">
<input type="hidden" name="successUrl" value="<?php echo $resultUrl; ?>"> <!-- 필수 값 -->
<input type="hidden" name="failUrl" value="<?php echo $resultUrl; ?>"> <!-- 필수 값 -->
<!-- successUrl / failUrl 은 분리 하여 이용가능!-->
</form>
<script>
document.saForm.setAttribute("target", "_self");
document.saForm.setAttribute("post", "post");
document.saForm.setAttribute("action", "https://sa.inicis.com/auth");
document.saForm.submit();
</script>
<?php
include_once(G5_PATH.'/tail.sub.php');
-113
View File
@@ -1,113 +0,0 @@
<?php
include_once('./_common.php');
$txId = $_POST['txId'];
$mid = substr($txId, 6, 10);
if ($_POST["resultCode"] === "0000") {
$data = array(
'mid' => $mid,
'txId' => $txId
);
$post_data = json_encode($data);
// curl 통신 시작
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_POST["authRequestUrl"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$res_data = json_decode($response, true);
// -------------------- 결과 수신 -------------------------------------------
// echo '<결과내역>'." '{$mid}' <br/><br/>";
// echo $response;
if($res_data['resultCode'] === "0000") {
@insert_cert_history($member['mb_id'], 'kg', 'sa'); // 인증성공 시 내역 기록
$cert_type = 'sa'; // 인증타입
$cert_no = $res_data['txId']; // 이니시스 트랜잭션 ID
$phone_no = $res_data['userPhone']; // 전화번호
$user_name = $res_data['userName']; // 이름
$birth_day = $res_data['userBirthday']; // 생년월일
$ci = $res_data['userCi']; // CI
if(!$phone_no)
alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요.");
$md5_ci = md5($ci . $ci);
$phone_no = hyphen_hp_number($phone_no);
$mb_dupinfo = $md5_ci;
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
$row = sql_fetch($sql);
if (!empty($row['mb_id'])) {
alert_close("입력하신 본인확인 정보로 가입된 내역이 존재합니다.\\n회원아이디 : ".$row['mb_id']);
}
// hash 데이터
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
//set_session("ss_cert_sex", ($sex_code=="01"?"M":"F")); // 이니시스 통합인증은 성별정보 리턴 없음
set_session('ss_cert_dupinfo', $mb_dupinfo);
} else {
// 인증실패 curl의 인증실패 체크
alert_close('코드 : '.$res_data['resultCode'].' '.urldecode($res_data['resultMsg']));
exit;
}
} else { // resultCode===0000 아닐경우 아래 인증 실패를 출력함
// 인증실패
alert_close('코드 : '.$_POST['resultCode'].' '.urldecode($_POST['resultMsg']));
exit;
}
$g5['title'] = 'KG이니시스 통합인증 결과';
include_once(G5_PATH.'/head.sub.php');
?>
<script>
jQuery(function($) {
var $opener = window.opener;
if (typeof g5_is_mobile != "undefined" && g5_is_mobile ) {
$opener = window.parent;
is_mobile = true;
} else {
$opener = window.opener;
}
// 인증정보
$opener.$("input[name=cert_type]").val("<?php echo $cert_type; ?>");
$opener.$("input[name=mb_name]").val("<?php echo $user_name; ?>").attr("readonly", true);
$opener.$("input[name=mb_hp]").val("<?php echo $phone_no; ?>").attr("readonly", true);
$opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");
alert("본인인증이 완료되었습니다.");
if($opener.$("form[name=register_cert_reset]") != undefined){
$opener.$("form[name=register_cert_reset]").submit();
}
window.close();
});
</script>
<?php
include_once(G5_PATH.'/tail.sub.php');
+8 -3
View File
@@ -129,6 +129,11 @@ if ($xpay->TX()) {
$phone_no = hyphen_hp_number($phone_no);
$mb_dupinfo = md5($ci.$ci);
// 명의 변경 체크
if (!empty($member['mb_certify']) && !empty($member['mb_dupinfo']) && strlen($member['mb_dupinfo']) != 64) { // 이미 인증된 계정중에 dupinfo가 di(64 length)가 아닐때
if($member['mb_dupinfo'] != $mb_dupinfo) alert_close("해당 계정은 이미 다른명의로 본인인증 되어있는 계정입니다.");
}
if($mb_dupinfo) {
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
$row = sql_fetch($sql);
@@ -140,7 +145,7 @@ if ($xpay->TX()) {
// hash 데이터
$cert_type = 'hp';
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$md5_cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
@@ -219,8 +224,8 @@ jQuery(function($) {
alert("본인의 휴대폰번호로 확인 되었습니다.");
if($opener.$("form[name=register_cert_reset]") != undefined){
$opener.$("form[name=register_cert_reset]").submit();
if($opener.$("form[name=fcertrefreshform]") != undefined){
$opener.$("form[name=fcertrefreshform]").submit();
}
window.close();
+18 -1
View File
@@ -136,8 +136,25 @@ if ($xpay->TX()) {
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
}else{
$mb_dupinfo = $md5_ci;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
set_session("ss_cert_sex", $mb_sex); // 이니시스 간편인증은 성별정보 리턴 없음
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
} else {
//인증요청 결과 실패 DB처리
//echo "인증요청 결과 실패 DB처리하시기 바랍니다.<br>";
+18
View File
@@ -121,8 +121,26 @@ if (empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
}else{
$mb_dupinfo = $md5_ci;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
set_session('ss_cert_sex', ($field[9] == 1 ? 'M' : 'F'));
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
$g5['title'] = 'KCB 휴대폰 본인확인';
include_once(G5_PATH.'/head.sub.php');
?>
+19
View File
@@ -95,7 +95,26 @@ if (empty($row['mb_id'])) { // ci로 등록된 계정이 없다면
alert_close("인증하신 정보로 가입된 회원정보가 없습니다.");
exit;
}
}else{
$mb_dupinfo = $md5_ci;
}
$md5_cert_no = md5($cert_no);
$hash_data = md5($user_name.$cert_type.$birth_day.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
$adult = ((int)$birth_day <= (int)$adult_day) ? 1 : 0;
set_session("ss_cert_type", $cert_type);
set_session("ss_cert_no", $md5_cert_no);
set_session("ss_cert_hash", $hash_data);
set_session("ss_cert_adult", $adult);
set_session("ss_cert_birth", $birth_day);
set_session('ss_cert_sex', ($field[9] == 1 ? 'M' : 'F'));
set_session('ss_cert_dupinfo', $mb_dupinfo);
set_session('ss_cert_mb_id', $row['mb_id']);
$g5['title'] = 'KCB 아이핀 본인확인';
include_once(G5_PATH.'/head.sub.php');
?>
+9 -4
View File
@@ -110,9 +110,14 @@ $req_num = $field[12];
$mb_birth = $field[8];
$di = $field[4];
$ci = $field[5];
$mb_dupinfo = md5($ci.$ci); // 통합인증 추가 후 ci로 변경
$mb_dupinfo = md5($ci.$ci); // 간편인증 추가 후 ci로 변경
$phone_no = hyphen_hp_number($req_num);
// 명의 변경 체크
if (!empty($member['mb_certify']) && !empty($member['mb_dupinfo']) && strlen($member['mb_dupinfo']) != 64) { // 이미 인증된 계정중에 dupinfo가 di(64 length)가 아닐때
if($member['mb_dupinfo'] != $mb_dupinfo) alert_close("해당 계정은 이미 다른명의로 본인인증 되어있는 계정입니다.");
}
// 중복정보 체크
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
$row = sql_fetch($sql);
@@ -123,7 +128,7 @@ if (!empty($row['mb_id'])) {
// hash 데이터
$cert_type = 'hp';
$md5_cert_no = md5($req_num);
$hash_data = md5($mb_name.$cert_type.$mb_birth.$md5_cert_no);
$hash_data = md5($mb_name.$cert_type.$mb_birth.$phone_no.$md5_cert_no);
// 성인인증결과
$adult_day = date("Ymd", strtotime("-19 years", G5_SERVER_TIME));
@@ -152,8 +157,8 @@ $(function() {
alert("본인의 휴대폰번호로 확인 되었습니다.");
if($opener.$("form[name=register_cert_reset]") != undefined){
$opener.$("form[name=register_cert_reset]").submit();
if($opener.$("form[name=fcertrefreshform]") != undefined){
$opener.$("form[name=fcertrefreshform]").submit();
}
window.close();
+8 -3
View File
@@ -86,7 +86,12 @@ if(!empty($field[1])) { // 아이핀은 리턴받는 ci 데이터가 두가지
}else{
alert_close('아이핀 본인확인 중 오류가 발생했습니다. (ci 정보 없음) 오류코드 : '.$resultCd.'\\n\\n문의는 코리아크레딧뷰로 고객센터 02-708-1000 로 해주십시오.');
}
$mb_dupinfo = md5($ci.$ci); // 통합인증 추가 후 ci로 변경
$mb_dupinfo = md5($ci.$ci); // 간편인증 추가 후 ci로 변경
// 명의 변경 체크
if (!empty($member['mb_certify']) && !empty($member['mb_dupinfo']) && strlen($member['mb_dupinfo']) != 64) { // 이미 인증된 계정중에 dupinfo가 di(64 length)가 아닐때
if($member['mb_dupinfo'] != $mb_dupinfo) alert_close("해당 계정은 이미 다른명의로 본인인증 되어있는 계정입니다.");
}
// 중복정보 체크
$sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' ";
@@ -123,8 +128,8 @@ $(function() {
$opener.$("input[name=mb_name]").val("<?php echo $mb_name; ?>").attr("readonly", true);
$opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");
if($opener.$("form[name=register_cert_reset]") != undefined){
$opener.$("form[name=register_cert_reset]").submit();
if($opener.$("form[name=fcertrefreshform]") != undefined){
$opener.$("form[name=fcertrefreshform]").submit();
}
window.close();
+19 -6
View File
@@ -11,6 +11,7 @@ require_once realpath(dirname(__FILE__)) . "/StorageInterface.php";
* HybridAuth storage manager
*/
class Hybrid_Storage implements Hybrid_Storage_Interface {
public static $stores = array();
/**
* Constructor
@@ -37,11 +38,21 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
$key = strtolower($key);
if ($value) {
$_SESSION["HA::CONFIG"][$key] = serialize($value);
$serialize_value = function_exists('get_string_encrypt') ? get_string_encrypt(serialize($value)) : serialize($value);
if( in_array($key, array('php_session_id', 'config')) ){
$this->stores[$key] = $serialize_value;
} else {
$_SESSION["HA::CONFIG"][$key] = $serialize_value;
}
} elseif (isset($this->stores[$key])) {
$unserialize_value = function_exists('get_string_decrypt') ? unserialize(get_string_decrypt($this->stores[$key])) : unserialize($this->stores[$key]);
return $unserialize_value;
} elseif (isset($_SESSION["HA::CONFIG"][$key])) {
return unserialize($_SESSION["HA::CONFIG"][$key]);
$unserialize_value = function_exists('get_string_decrypt') ? unserialize(get_string_decrypt($_SESSION["HA::CONFIG"][$key])) : unserialize($_SESSION["HA::CONFIG"][$key]);
return $unserialize_value;
}
return null;
}
@@ -55,7 +66,8 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
$key = strtolower($key);
if (isset($_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key])) {
return unserialize($_SESSION["HA::STORE"][$key]);
$unserialize_value = function_exists('get_string_decrypt') ? unserialize(get_string_decrypt($_SESSION["HA::STORE"][$key])) : unserialize($_SESSION["HA::STORE"][$key]);
return $unserialize_value;
}
return null;
@@ -70,7 +82,8 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
*/
public function set($key, $value) {
$key = strtolower($key);
$_SESSION["HA::STORE"][$key] = serialize($value);
$serialize_value = function_exists('get_string_encrypt') ? get_string_encrypt(serialize($value)) : serialize($value);
$_SESSION["HA::STORE"][$key] = $serialize_value;
}
/**
@@ -138,4 +151,4 @@ class Hybrid_Storage implements Hybrid_Storage_Interface {
$_SESSION["HA::STORE"] = unserialize($sessiondata);
}
}
}
+5 -3
View File
@@ -391,7 +391,8 @@ function social_session_exists_check(){
}
if( $provider_name && isset($_SESSION['HA::STORE']['hauth_session.'.strtolower($provider_name).'.is_logged_in']) && !empty($_SESSION['sl_userprofile'][$provider_name]) ){
return json_decode($_SESSION['sl_userprofile'][$provider_name]);
$decode_value = function_exists('get_string_decrypt') ? json_decode(get_string_decrypt($_SESSION['sl_userprofile'][$provider_name])) : json_decode($_SESSION['sl_userprofile'][$provider_name]);
return $decode_value;
}
return false;
@@ -485,8 +486,9 @@ function social_check_login_before($p_service=''){
$_SESSION['sl_userprofile'] = array();
}
if( ! $is_member ){
$_SESSION['sl_userprofile'][$provider_name] = json_encode( $user_profile );
if( ! $is_member ){
$encode_value = function_exists('get_string_encrypt') ? get_string_encrypt(json_encode($user_profile)) : json_encode($user_profile);
$_SESSION['sl_userprofile'][$provider_name] = $encode_value;
}
}
@@ -3,6 +3,40 @@ if (!defined('_GNUBOARD_')) exit;
class G5_Hybrid_Endpoint extends Hybrid_Endpoint
{
protected function authInit() {
if (!$this->initDone) {
$this->initDone = true;
// Init Hybrid_Auth
try {
if (!class_exists("Hybrid_Storage", false)) {
require_once realpath(dirname(dirname(__FILE__))). "/Hybrid/Storage.php";
}
if (!class_exists("Hybrid_Exception", false)) {
require_once realpath(dirname(dirname(__FILE__))). "/Hybrid/Exception.php";
}
if (!class_exists("Hybrid_Logger", false)) {
require_once realpath(dirname(dirname(__FILE__))). "/Hybrid/Logger.php";
}
$storage = new Hybrid_Storage();
$provider_id = ucfirst(trim(strip_tags($this->request["hauth_start"])));
if(!$provider_id) $provider_id = ucfirst(trim(strip_tags($this->request["hauth_done"])));
$storage->config("CONFIG", social_build_provider_config($provider_id));
// Check if Hybrid_Auth session already exist
if (!$storage->config("CONFIG")) {
$this->dieError("CONFIG FAILED: ", "Unable to get config", array());
}
Hybrid_Auth::initialize($storage->config("CONFIG"));
} catch (Exception $e) {
Hybrid_Logger::error("Endpoint: Error while trying to init Hybrid_Auth: " . $e->getMessage());
$this->dieError("Endpoint Error: ", $e->getMessage(), $e);
}
}
}
protected function processAuthStart(){
try {
parent::processAuthStart();
+19 -8
View File
@@ -101,7 +101,7 @@ $mb_open = (isset($_POST['mb_open']) && $_POST['mb_open']) ? 1 : 0;
//===============================================================
// 본인확인
//---------------------------------------------------------------
if($config['cf_cert_use'] && $config['cf_cert_req']){
if($config['cf_cert_use']) {
$mb_hp = hyphen_hp_number($mb_hp);
if($config['cf_cert_use'] && get_session('ss_cert_type') && get_session('ss_cert_dupinfo')) {
// 중복체크
@@ -117,7 +117,7 @@ if($config['cf_cert_use'] && $config['cf_cert_req']){
$cert_type = get_session('ss_cert_type');
if ($config['cf_cert_use'] && $cert_type && $md5_cert_no) {
// 해시값이 같은 경우에만 본인확인 값을 저장한다.
if (get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) {
if ($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함
$sql_certify .= " , mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
@@ -126,12 +126,17 @@ if($config['cf_cert_use'] && $config['cf_cert_req']){
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
if($w == 'u')
$sql_certify .= " , mb_name = '{$mb_name}' ";
} else {
} else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
$sql_certify .= " , mb_hp = '{$mb_hp}' ";
$sql_certify .= " , mb_certify = '' ";
$sql_certify .= " , mb_adult = 0 ";
$sql_certify .= " , mb_birth = '' ";
$sql_certify .= " , mb_sex = '' ";
$sql_certify .= " , mb_certify = '{$cert_type}' ";
$sql_certify .= " , mb_adult = '".get_session('ss_cert_adult')."' ";
$sql_certify .= " , mb_birth = '".get_session('ss_cert_birth')."' ";
$sql_certify .= " , mb_sex = '".get_session('ss_cert_sex')."' ";
$sql_certify .= " , mb_dupinfo = '".get_session('ss_cert_dupinfo')."' ";
if($w == 'u')
$sql_certify .= " , mb_name = '{$mb_name}' ";
}else {
alert('본인인증된 정보와 개인정보가 일치하지않습니다. 다시시도 해주세요');
}
} else {
if (get_session("ss_reg_mb_name") != $mb_name || get_session("ss_reg_mb_hp") != $mb_hp) {
@@ -166,7 +171,12 @@ $sql = " insert into {$g5['member_table']}
$result = sql_query($sql, false);
if($result) {
if($cert_type == 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$md5_cert_no)) { // 아이핀일때 hash 값 체크 hp미포함)
insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
}else if($cert_type != 'ipin' && get_session('ss_cert_hash') == md5($mb_name.$cert_type.get_session('ss_cert_birth').$mb_hp.$md5_cert_no)) { // 간편인증, 휴대폰일때 hash 값 체크 hp포함
insert_member_cert_history($mb_id, $mb_name, $mb_hp, get_session('ss_cert_birth'), get_session('ss_cert_type') ); // 본인인증 후 정보 수정 시 내역 기록
}
// 회원가입 포인트 부여
insert_point($mb_id, $config['cf_register_point'], '회원가입 축하', '@member', $mb_id, '회원가입');
@@ -216,6 +226,7 @@ if($result) {
//바로 로그인 처리
set_session('ss_mb_id', $mb['mb_id']);
if(function_exists('update_auth_session_token')) update_auth_session_token(G5_TIME_YMDHIS);
} else { // 메일인증을 사용한다면
$subject = '['.$config['cf_title'].'] 인증확인 메일입니다.';
+4
View File
@@ -94,6 +94,10 @@ if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') {
define('SHOP_TOSSPAYMENTS_CASHRECEIPT_TEST_JS', 'http://pgweb.tosspayments.com:7085/WEB_SERVER/js/receipt_link.js');
}
// 네이버페이를 신용카드 결제창에서 지원하고 있으므로 네이버에 직접신청하는 결제 기능을 미사용(false:기본설정) 합니다. (kagla,211019)
// 네이버에서 직접신청 결제를 사용(true)하시는 경우 모든 문제를 직접 해결해 주셔야 합니다.
define('G5_SHOP_DIRECT_NAVERPAY', false); // false 미사용(기본설정), true 사용
/*
// 주문상태 상수
define('G5_OD_STATUS_ORDER' , '입금확인중');

Some files were not shown because too many files have changed in this diff Show More