영카트5 SMS 충전 잔액이 제대로 표시 안되는 경우 해결책.
본문
아이코드를 통해 로그인도 되고 충전까지 정상적으로 되었고 문자도 제대로 전송되지만
SMS 충전 잔액이 제대로 표기 안되는 경우가 있어요.
이럴 땐 아래의 빨간 코드 2줄을 추가하면됩니다.
대상파일 : /lib/common.lib.php
대상함수 : get_icode_userinfo()
원인 : 아이코드가 아이디와 비번을 10자리 이상 인식하지 못하도록 디자인 되어 그렇습니다.
힌트 : /plugin/sms5/sms5.lib.php 를 보면 $this->ID = spacing($this->ID,10); $this->PWD = spacing($this->PWD,10); 가 있음.
어이 없게도 아이코드사의 SMS 프로그램에 문제가 있는것임.
// 아이코드 사용자정보
function get_icode_userinfo($id, $pass)
{
if(strlen($id) > 10) $id = substr($id, 0, 10);
if(strlen($pass) > 10) $pass = substr($pass, 0, 10);
$res = get_sock('http://www.icodekorea.com/res/userinfo.php?userid='.$id.'&userpw='.$pass);
$res = explode(';', $res);
$userinfo = array(
'code' => $res[0], // 결과코드
'coin' => $res[1], // 고객 잔액 (충전제만 해당)
'gpay' => $res[2], // 고객의 건수 별 차감액 표시 (충전제만 해당)
'payment' => $res[3] // 요금제 표시, A:충전제, C:정액제
);
return $userinfo;
}
답변 4
추가 의견.
* 보안은 둘째라도 충전 잔액을 오인할 여지가 충분합니다.
- 0123456789A 아이디와 0123456789B 아이디가 동일시 되는 오류가 있겠습니다.
아이디는 생성시 10자 이상 만들지 못해서 상관없는데 비밀번호는 10자이상도 입력되면서 저렇게 막아놓다니..
어의없군요..
혼자 삽질하다 해결하고 갑니다.
감사합니다.
감사합니다!