쇼핑몰 관리자로 로그인해서 쇼핑몰 설정으로 들어갈려고 하는데 "exec 함수실행이 불가능하므로 사용할수 없습니다." 문구가 뜨면서 진입을 못하네요 KCP결제관련도 문제가 생긴것 같습니다.
호스팅사에 문의해본결과 php보안 업데이트 관련 조치사항으로 임의 해제조치는 어렵다는 답변을 받았습니다.
또한 kcp결재 모듈에서 제공하는 최신버전으로 exec등 실행함수가 아닌 api를 통한 연동으로 php버전 업데이트와 함께 업그레이드하여 이용을 권장하더군요
이경우 해결방법이 호스팅이전 밖에 없는것인지 이전하면 어느회사 호스팅이 적당한지 추천부탁드립니다.
답변 21개 / 댓글 1개
REST API 커밋만 골라서 적용하시는 경우 하나 더 챙기셔야 할 것이 있습니다.
오늘(11-09) 배포된 그누보드 5.6.48에서 KCP REST 방식의 모바일 실결제창이 열리지 않던 문제가 수정되었습니다. KCP가 거래등록 뒤 돌려주는 운영 결제창 주소(rsmpay.kcp.co.kr)를 쇼핑몰이 거절하던 문제라서, PC 결제는 정상인데 모바일 실결제만 안 되는 증상으로 나타납니다.
10-30에 운영진이 안내한 REST 커밋 두 개만 반영하셨다면 이 수정이 빠져 있습니다. 5.6.48에서 바뀐 lib/kcp_rest.lib.php도 함께 반영해 주세요(같은 배포에 포함된 common.php 수정은 로그인 세션 경고 건이라 결제와는 별개입니다).
전환 뒤에는 테스트 모드에서 PC와 모바일을 각각 승인·취소까지 확인하고 운영으로 바꾸시는 것이 안전합니다. 테스트 결제창은 주소가 달라서 이 문제가 운영 전환 뒤에야 드러날 수 있습니다.
5.6.48 배포 노트: https://github.com/gnuboard/gnuboard5/releases/tag/v5.6.48
호스팅을 무조건 이전해야 하는 것은 아닙니다.
이번 문제는 호스팅사에서 PHP 보안 강화를 위해 exec()와 같은 시스템 실행 함수를 차단하면서 발생한 것으로 보입니다. 그누보드5의 일부 기능이나 기존 KCP 결제 모듈이 해당 함수를 사용하고 있다면 정상적으로 동작하지 않을 수 있습니다.
우선 다음 순서로 확인해 보시는 것을 권장합니다.
-
그누보드 및 영카트 소스 확인 :
exec()함수를 사용하는 부분을 찾아 대체 가능한 방식으로 수정합니다. -
KCP 결제 모듈 업데이트 : 기존 모듈 대신 최신 PHP 버전에 맞는 API 방식의 결제 모듈로 교체하는 것이 좋습니다.
-
호스팅사 확인 : 필요한 PHP 버전과 확장 모듈, 보안 설정을 지원하는지 확인합니다.
위 방법으로 해결이 어렵다면 호스팅 이전을 고려하시면 됩니다.
개인적으로는 기존 홈페이지를 그대로 이전하기보다는 PHP 버전 선택이 자유롭고, SSH 접속 및 서버 설정이 가능한 가상서버(VPS)나 클라우드 서버를 추천합니다.
국내에서는 카페24, 가비아, AWS 등을 비교해 보시면 좋겠습니다.
다만 단순히 호스팅을 이전한다고 해결되는 문제는 아니므로, 기존 KCP 결제 모듈과 exec() 사용 부분을 먼저 점검하는 것이 우선입니다.
안녕하세요.
현재 상황이라면 호스팅을 이전하기 전에 쇼핑몰 설정 페이지의 exec() 관련 오류와 실제 KCP 결제 오류를 구분해서 확인하시는 것이 좋겠습니다.
SIR 운영진이 KCP REST API 지원 버전과 관련 패치를 이미 배포했으므로 해당 버전을 기준으로 적용하시면 됩니다.
다만 실제 운영 중인 쇼핑몰이라면 다음 사항을 먼저 확인하시는 것을 권장드립니다.
-
현재 영카트 버전과 PHP 버전 확인
-
쇼핑몰 설정 페이지에서 exec() 관련 오류가 발생하는 파일 및 호출 위치 확인
-
기존 KCP 결제 모듈과 커스터마이징 내역 확인
-
KCP REST API 패치 적용 후 결제 승인, 취소, 주문 상태 변경 테스트
-
가상계좌 및 현금영수증 사용 시 해당 기능도 별도로 확인
특히 쇼핑몰 설정 페이지에 진입하지 못하는 문제는 결제 모듈 전환만으로 해결되는지 확인이 필요합니다.
기존 소스에 직접 수정한 부분이 있다면 최신 버전을 통째로 덮어쓰기보다는 변경 파일을 비교하여 필요한 패치
해당 문제는 반드시 호스팅을 이전해야 해결되는 것은 아닙니다.
우선 현재 그누보드 및 영카트 버전, PHP 버전, KCP 결제 모듈의 호환성을 확인하는 것이 중요합니다.
기존 소스에서 exec 함수 사용 부분을 수정하고 KCP 결제 모듈을 최신 API 방식으로 교체하면 기존 호스팅에서도 해결할 가능성이 있습니다.
다만 호스팅 환경에서 필요한 기능을 지원하지 않는다면 서버 설정이 자유로운 VPS나 클라우드 호스팅으로 이전하는 것도 고려해 볼 수 있습니다.
우선 소스와 서버 환경을 점검한 후 이전 여부를 결정하시는 것을 추천합니다.
보안상 위험한 명령어라서 보통 호스팅 환경에서는 제한되어 있습니다.
다른 방법으로 같은 효과를 낼 수 있는 방법을 찾아야 할 것입니다.
요즘 보안 위험이 증가 하고 있어 위험한 명령어를 실행 하게 하는 것은 조심해야 할 것입니다.
그놈의 ai 를 나쁜넘들이 더 잘 쓴다는게 문제 입니다...
답변을 작성하려면 로그인이 필요합니다.