exec 함수실행이 불가능하므로 사용할수 없습니다.

쇼핑몰 관리자로 로그인해서 쇼핑몰 설정으로 들어갈려고 하는데 "exec 함수실행이 불가능하므로 사용할수 없습니다." 문구가 뜨면서 진입을 못하네요 KCP결제관련도 문제가 생긴것 같습니다.

호스팅사에 문의해본결과 php보안 업데이트 관련 조치사항으로 임의 해제조치는 어렵다는 답변을 받았습니다.

또한 kcp결재 모듈에서 제공하는 최신버전으로 exec등 실행함수가 아닌 api를 통한 연동으로 php버전 업데이트와 함께 업그레이드하여 이용을 권장하더군요

이경우 해결방법이 호스팅이전 밖에 없는것인지 이전하면 어느회사 호스팅이 적당한지 추천부탁드립니다.

|

답변 7개 / 댓글 7개

호스팅 이전만이 해결방법은 아닙니다.
영카트 5.3333에 아미나 빌더를 사용 중이시면, 구버전 KCP 모듈이 exec 차단에 영향을 받는 상황으로 보입니다.

KCP에서 API 방식으로 전환하는 방법을 제공하고 있으니, 현재 호스팅에서 결제 연동을 변경하는 쪽도 검토해보시면 됩니다. 다만 영카트에 맞게 적용하는 작업은 필요합니다.

아미나 빌더까지 사용 중이라 최신 영카트를 그대로 덮어쓰시면 안되구요
php 버전을 올리셔도 어차피 5.3333 베이스라서 호환성에서 안됩니다.
관리자 설정에서 단순 exec on 을 해도 안되구요

따라서 kcp 에서 api 방식가이드대로 해당 결제 모듈만 업데이트 하는 방향으로 작업하시는걸 추천해드립니다.

답변에 대한 댓글 2개

답변 감사드립니다. 배포버젼이 나오길 바랍니다. 결국 결제대행사를 교체를 생각하고 있습니다. 이것도 또한 맞는 대처방법인지 알수 없네요~~~
php 버전 업그레이드 및 현재 운용중이신 아미나버전 마이그레이션 쪽을 권장해드립니다.
아미나 베이스면 5.3333 인데 현재 개발도 중단되어있어서 교체를 하실 시기는 되셨어요..

지난주에도 한건 해드렸는데
그 의뢰주님도 어떻게든 아미나를 사용할수밖에 없는 상태여서
전체 마이그레이션 및 결제모듈 최신화를 진행해드렸거든요..
안녕하세요.

26년 9월경부터 REST API 지원을 위해 NHN KCP와 협의하고 있으며, 협의가 마무리되는 대로 지원 버전 배포 및 전환 가이드를 제공해 드릴 예정인 점 참고 부탁드립니다.

감사합니다.
exec 함수실행은 위험성을 내포하고 있어, 통제되는 상황에서 제안적으로 사용할 수 있는 함수입니다. 결제 연동시 exec 함수를 사용하지 않고도 얼마든지 연동작업이 가능합니다. 이 부분 확인하시어 진행하시면 될 것 같아요.

댓글에 적으신 5.3.3.3을 기준으로 보면, 그누보드 업데이트와 KCP 결제 모듈의 API 전환을 따로 확인하셔야 합니다. 최신판으로 올리기만 하면 exec 의존성이 없어지는 것은 아닙니다.

현재 공식 5.6.43 소스에도 쇼핑몰 설정에서 pp_cli 실행 여부를 검사하는 코드가 있고, PC KCP 결제 라이브러리도 exec()로 실행 파일을 호출합니다. 그래서 경고를 띄우는 한 줄만 주석 처리하면 설정 화면은 열릴 수 있어도 실제 결제까지 복구됐다는 뜻은 아닙니다. 질문자 서버를 직접 검사한 결과는 아니고 공식 배포 소스를 확인한 내용입니다.

KCP 공식 REST API 전환 안내에는 승인·취소 요청을 HTTPS/JSON 방식으로 바꾸고, 기존 site_key 대신 서비스 인증서 등을 적용하도록 되어 있습니다. 현재 영카트 버전과 수정한 주문 처리 파일에 맞는 전환 모듈인지 먼저 확인해 보세요. 단순 파일 덮어쓰기보다 파일·DB 백업 후 별도 테스트 환경에서 PC/모바일 승인, 실패 처리, 취소, 사용 중인 가상계좌 입금 통보까지 확인하고 반영하는 편이 좋습니다. 인증서·개인키·관리자 비밀번호는 게시판에 올리지 마세요.

호스팅 이전을 결정하기 전에, 현재 호스팅에서 KCP API용 HTTPS 통신과 필요한 PHP 확장 기능을 지원하는지 확인하고 KCP 기술지원에 “영카트 5.3.3.3의 pp_cli 결제를 exec 없이 전환할 수 있는 호환 모듈/지원 범위”를 문의하시는 순서를 권합니다. 보안 패치가 불필요하다는 뜻은 아니며, 보안 업데이트만으로 결제 연동 방식까지 자동 변경된다고 보기는 어렵습니다.

공식 코드: https://github.com/gnuboard/gnuboard5/blob/f8059c231a9377b69bc594f42836463c27fa9df6/adm/shop_admin/configform.php#L1839-L1869
결제 실행 부분: https://github.com/gnuboard/gnuboard5/blob/f8059c231a9377b69bc594f42836463c27fa9df6/shop/kcp/pp_ax_hub_lib.php#L293-L300
KCP 전환 안내: https://developer.kcp.co.kr/guide/rest-api-guide

어느 idc호스팅 쓰고잇는데요 카페24는 기본적으로  exec()함수 허용하고있는걸 알고잇습니다. 
php.ini ,에서 허용하겟다고 설정해주셔야 합니다.
만약 서버 루트 권한이 없는 웹호스팅일경우 서버담당 관리자 한테  shell_exec(), system(), passthru() 허용해달라고 요청하셔야합니다.

답변에 대한 댓글 1개

아*비 호스팅을 쓰고 있는데 담당자께서 KCP 쪽에 문의하셔서 api 연동으로 바꿔쓰는것을 권장하네요~~
php2shell 패치가 되었다면, exec 는 허용하도록 해도 되는데 호스팅 업체가 대응이 좀 아쉽네요. 
 
카페24가 빨리빨리 보안 대응하는 듯 하니 카페24에 둥지를 틀어보심이...

답변에 대한 댓글 4개

카페24에 둥지를 틀어도 똑같은거 아닌가요? 그누보드 패치 반영을 못한 구버전 사용자가 많다는 것이고
아무리 카페24에서 대응이 빨라도 그누보드 구버전은 문법과 호환성오류가 생긴다는 거지요.. 그걸 php 버전에 맞게 노가다 작업을 해야 하는 것이고.. 그누보드 버전 패치가 있을때마다 반영을 못하면 똑같은 거지요.. 카페24에 이전해도 똑같습니다.. 어떤 호스팅도 지금 당장은 exec 함수실행 허용해준다고 해도 시간지나면 보안때문에 차단할수밖에 없을것입니다. KCP REST API 결제 모듈로 소스를 교체해야 해결되는 문제지요..
저만 그런것인지 몰라도 제가 사용하는 호스팅사에는 안됩니다. 최근 영카트를 다시 설치해서 테스트 했는데 여전히 경고문구가 나오네요~~~다른 호스팅사는 사용안해봐서 잘 모르겠어요 답변 감사드립니다
예 저도 다른업체에 문의해보니 여전히 보안때문에 차단한다고 하네요~~그럼 그누보드 구버젼(5.3.3.3)이 문제인건가요? 패치를하면 해결되는것인지 궁금합니다.
그누보드 구버전이 지원 못하는거 아닐까요? exec 함수를 쓰지 않는 최신 API 연동 으로 결제 모듈을 업그레이드 해야 될것같은데요 그누보드 패치를 해보시는것이 전 쇼핑몰 사용하지 않아서 잘 모르겠지만 5.3.3.3 버전이면 언제 패치할지 막막합니다 만약 최신버전 그누보드가 이런 문제로 오류가 있다면 sir에서 바로 패치버전 나왔겠지요 그런 문제가 없으니 아직까지 안올라온거 보면 그누보드 최신버전은 잘 작동된다고 보면 되겠지요..

답변을 작성하려면 로그인이 필요합니다.