form메일에서 sms보내기 질문드립니다.

form메일에서 sms보내기 질문드립니다.

QA

form메일에서 sms보내기 질문드립니다.

본문

안녕하세요.

index에서 양식을 작성하면

게시물등록+SMS보내기까지 되게 해놓았습니다.

 

정상적인 루트로 활용하면 잘되는데

새벽에 스팸자동봇들이 해당 페이지를 계속 호출하면서

SMS 문자가 0.2초만에 20개정도가 오더라구요.. 게시글은 1증가했는데요..ㅠ

 

페이지로딩을 60초에 1번으로 제한하던가 하는 기능이 혹시 있을까요.. (게시판 스팸방지처럼..)

 

소스는 아래와 같습니다...

 


<?php
include_once("./_common.php");
include "mailer.php";
$mb = get_member($config['cf_admin']);
$mbs = $mb['mb_email'];
$bo_table = "reservation";
$write_table = $g5['write_prefix'] . $bo_table;
$mode = $_REQUEST['mode'];
$name = $_REQUEST['name'];
$hp1 = $_REQUEST['hp1'];
$hp2 = $_REQUEST['hp2'];
$hp3 = $_REQUEST['hp3'];
$hp = $hp1."-".$hp2."-".$hp3;
$email = $_REQUEST['email'];
$areaname = $_REQUEST['areaname'];
$questype = $_REQUEST['questype'];
$content = $_REQUEST['content'];
$ip = $_SERVER['REMOTE_ADDR'];
$wr_subject = $_REQUEST['wr_subject'];
$wr_name = $_REQUEST['wr_name'];
$wr_1 = $_REQUEST['wr_1'];
$wr_2 = $_REQUEST['wr_2'];
$wr_3 = $_REQUEST['wr_3'];
$wr_4 = $_REQUEST['wr_4'];
$wr_5 = $_REQUEST['wr_5'];
$wr_6 = $_REQUEST['wr_6'];

$subject = "[온라인 신청]";
$body = "";
$body .= "이 름 : $wr_name<br>";
$body .= "연락처 : $wr_1<br>";
$body .= "문의내용 : $wr_content<br>";
$admin_email = "$mbs";

if($mode == "send") {
    //파일첨부 시작
    for($i=1;$i<=3;$i++) {
        $file[$i] = $_FILES['userfile'.$i]['name'];
        $target[$i] = "./temp/".$file[$i];
        if (move_uploaded_file($_FILES['userfile'.$i]['tmp_name'], $target[$i])) {
            chmod("$target[$i]", 0777);
        }
    }
    $ret = mailer($name, $email, "Admin", $admin_email, $subject, $body.$body2, $file);
    if($file[1] != "") @unlink($target[1]);
    if($file[2] != "") @unlink($target[2]);
    if($file[3] != "") @unlink($target[3]);

ob_start();
$content = ob_get_contents();
ob_end_clean();

$wr_num = get_next_num($write_table);
$wr_reply = "";
$secret = "secret";
    $sql = " insert into $write_table
                set wr_num = '$wr_num',
                     wr_reply = '$wr_reply',
                     wr_comment = 0,
                     ca_name = '$ca_name',
                     wr_option = '$html,$secret,$mail',
                     wr_subject = '$wr_subject',
                     wr_content = '$wr_content',
                     wr_link1 = '$wr_link1',
                     wr_link2 = '$wr_link2',
                     wr_link1_hit = 0,
                     wr_link2_hit = 0,
                     wr_hit = 0,
                     wr_good = 0,
                     wr_nogood = 0,
                     mb_id = '{$member['mb_id']}',
                     wr_password = '$wr_password',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_homepage = '$wr_homepage',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '".G5_TIME_YMDHIS."',
                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                     wr_1 = '$wr_1',
                     wr_2 = '$wr_2',
                     wr_3 = '$wr_3',
                     wr_4 = '$wr_4',
                     wr_5 = '$wr_5',
                     wr_6 = '$wr_6',
                     wr_7 = '$wr_7',
                     wr_8 = '$wr_8',
                     wr_9 = '$wr_9',
                     wr_10 = '$wr_10' ";
    sql_query($sql);
    $wr_id = sql_insert_id();
    // 부모 아이디에 UPDATE
    sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
    // 새글 INSERT
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
    // 게시글 1 증가
    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
}
    include_once(G5_LIB_PATH.'/icode.sms.lib.php');
    // 문의글 등록시 관리자에게 전송
     
    $send_hp_mb = $sms5['cf_phone'];
    $recv_hp_mb = $wr_1; //  신청자 전화번호
    $recv_hp_mb2 = $config['cf_11'];
    $recv_hp_mb3 = $config['cf_12'];
    $recv_hp_mb4 = $config['cf_13'];
    $recv_hp_mb5 = $config['cf_14'];
    $recv_hp_mb6 = $config['cf_15'];
    $send_hp = str_replace("-","",$send_hp_mb); // - 제거
    $recv_hp = str_replace("-","",$recv_hp_mb); // - 제거
    $recv_hp2 = str_replace("-","",$recv_hp_mb2); // - 제거
    $recv_hp3 = str_replace("-","",$recv_hp_mb3); // - 제거
    $recv_hp4 = str_replace("-","",$recv_hp_mb4); // - 제거
    $recv_hp5 = str_replace("-","",$recv_hp_mb5); // - 제거
    $recv_hp6 = str_replace("-","",$recv_hp_mb6); // - 제거
    $send_number =  "$send_hp";
    $recv_number = "$recv_hp";
    $recv_number2 = "$recv_hp2";
    $recv_number3 = "$recv_hp3";
    $recv_number4 = "$recv_hp4";
    $recv_number5 = "$recv_hp5";
    $recv_number6 = "$recv_hp6";
    $sms_content = $wr_name."님의 온라인문의가 정상적으로 신청되었습니다.";  // 문자 내용(신청자용)
    $sms_content2 = $wr_name."님이 온라인문의를 신청하셨습니다."; // 문자 내용(관리자용)
    $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();
    $SMS2 = new SMS; // SMS 연결 (관리자용)
    $SMS2->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
    $SMS2->Add($recv_number2, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content2)), "");
    $SMS2->Send();
    $SMS3 = new SMS; // SMS 연결 (관리자용)
    $SMS3->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
    $SMS3->Add($recv_number3, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content2)), "");
    $SMS3->Send();
    $SMS4 = new SMS; // SMS 연결 (관리자용)
    $SMS4->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
    $SMS4->Add($recv_number4, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content2)), "");
    $SMS4->Send();
    $SMS5 = new SMS; // SMS 연결 (관리자용)
    $SMS5->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
    $SMS5->Add($recv_number5, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content2)), "");
    $SMS5->Send();
    $SMS6 = new SMS; // SMS 연결 (관리자용)
    $SMS6->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
    $SMS6->Add($recv_number6, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content2)), "");
    $SMS6->Send();
 // 문자보내기 끝
?>
<?
alert("신청이 접수되었습니다.");
?>

이 질문에 댓글 쓰기 :

답변 1

if($mode == "send") { 

의 닫는 괄호를 문자보내기 다음으로 옮겨 보세요.

그리고 if 문 추가

 if($wr_id) {

    include_once(G5_LIB_PATH.'/icode.sms.lib.php');
    // 문의글 등록시 관리자에게 전송

 

   문자보내는 소스~~

 

  // 문자보내기 끝

}

}

 

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

회원로그인

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