아이코드 악용?

아이코드 악용?

QA

아이코드 악용?

본문

[코드는 딱히 안보셔도 됩니다]

아래에 본문 있습니다

 

 

1. 아래의 소스를 이용하여 sms_ok.php 파일을 만들어 루트에 업로드 합니다. 

 
<? 
include_once('./common.php'); 
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 
include_once(G5_LIB_PATH.'/icode.sms.lib.php'); 
  
      
$send_hp = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***"; // 보내는 전화번호 
$recv_hp = "*** 개인정보보호를 위한 휴대폰번호 노출방지 ***"; //  받는 전화번호 
 
    $send_number =  "$send_hp"; 
$recv_number = "$recv_hp"; 
 
    $sms_content = $_POST['sender']."\n".$_POST['msg_content'];      
 
    $SMS = new SMS; // SMS 연결 
    $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); 
    $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), ""); 
    $SMS->Send(); 
 
    alert("상담신청이 완료되었습니다."); 
 
 ?> 
 

 

2. 아래의 소스를 이용하여 발송페이지를 만듭니다. (div등의 레이어로 만드셔도 무방합니다) 

 
<script> 
function DoClear(tg) { 
if (tg.value == tg.defaultValue) { 
tg.value = ''; 
} 
CalByte(tg); 
} 
 
function CalByte(tg){ 
var curText; 
var strLen; 
var byteIs; 
var lastByte; 
var thisChar; 
var escChar; 
var curTotalMsg; 
var okMsg; 
 
curText = new String(tg.value); 
strLen = curText.length; 
byteIs = 0; 
 
for(i=0; i<strLen; i++) { 
thisChar = curText.charAt(i); 
escChar = escape(thisChar); 
 
if (escChar.length > 4) { 
byteIs += 2;  //특수문자 한글인 경우. 
} 
else if(thisChar != '\r') { 
//개행을 제외한 이외의 경우 
byteIs += 1; 
} 
 
if(byteIs > 60){ 
alert('60바이트(한글30자)를 초과하실 수 없습니다.'); 
thisText = curText.substring(0, i); 
tg.value = thisText; 
byteIs = lastByte; 
break; 
} 
 
lastByte = byteIs; 
} 
 
document.all.byte.value = byteIs; 
} 
 
function ClearMsg(){ 
document.all.msg_content.value = ''; 
CalByte(document.form_sms.msg_content); 
document.form_sms.msg_content.focus(); 
} 
 
function CheckIt(fm){ 
if(!fm.msg_content.value || fm.msg_content.value == fm.msg_content.defaultValue){ 
alert("[안내] 내용을 입력하세요."); 
ClearMsg(); 
return false; 
} 
 
if(!fm.sender.value || fm.sender.value.length < 10){ 
alert("[안내] 보내는 분의 전화번호를 정확히 입력하세요."); 
fm.sender.focus(); 
return false; 
} 
 
return true; 
} 
</script> 
 
<form name="form_sms" id="form_sms" method="post" action="/sms_ok.php" onsubmit="return CheckIt(this);"> 
<div class="byte"> 
<input type="text" name="byte" class="sms_input_none" value="0" size="2" maxsize="3" readonly> / 60 
</div> 
<div class="lcd_bg"> 
<textarea name='msg_content' class='lcd' onclick='DoClear(this)' onselect='DoClear(this)' onchange='CalByte(this)'>기본 보여주는 내용을 입력합니다.</textarea> 
    </div> 
    <div class="back_info"> 
<input type="text" name="sender" size="11" maxlength="11" style="ime-mode:disabled" class="sms_input" value=""> 
    
<input type="submit" value="전송"> 
    </div> 
</form> 

 

 

구글에서 위코드 검색해서 아이코드 문자서비스 사용하고있습니다

(보통 메인에 쓰는 상담신청 그런걸로..)

 

근데 그냥 이름/연락처 쓰고 전송만 누르면되니 그냥 아무거나 쓰고 전송을 반복하여 피해를 주는 일이 생깁니다..

이거 어떻게 막을방법 있나요?

이 질문에 댓글 쓰기 :

답변 2

누구나 보낼수있는 sms 상담신청같은경우 특별히 막지 않는한 고의적으로 보내는 메시지를 막을 방법은 프로그램으로 막는 방법 밖에 없습니다.

 

1. 동일한 아이피 일 1회 발송 하도록 막는다.

2. sms_ok 부분에 쿠키를 심어서 해당 쿠키가 있는경우 쿠키의 라이프타임까지 발송을 막는다

3. 동일한 전화 번호 신청의 경우 막는다.

4. 회원 또는 본인 인증회원의 경우에만 상담신청을 남길수있다

 

위와 같은 방법으로 조절 가능 할것으로 보입니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 131
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT