PHP Scripting-PHP Script 예제 code

여기에서는 간단한 예제를 보여 드리겠습니다~

1) whois 검색
whois 검색이라는 것은 어떤 도메인이 등록이 되어 있는지 등록되어있지 않은지를 확인하고 만약 등록되어 있다면
누구에게 등록이 되어 있는지를 검색하는 것을 뜻한다는 것은.. 다들 아실것입니다.
여기의 Code는 단순히 최상위도메인을 .kr이나 아니면 국제 도메인으로만 나누고있습니다.
일반적으로 Whois 검색은 kr 도메인의 경우엔 whois.nic.or.kr , 국제 도메인은 whois.networksolutions.com에서 하고 43번 표준 Port에서 whois서비스가 이루어 집니다.


-------------whois.php--------------------------------------------------
#!/usr/local/bin/php -q
//인자의 개수가 명령어 , 찾을 도메인 .. 이렇게 해서 두개가 되어야 합니다.
if($argc < 2)
die("사용법 : whois.php domain
");

//도메인 검색할때는 도메인과 최상위 도메인만을 적어야 합니다.
if(eregi("^http://" , $domain) || eregi("^www" , $domain))
die("사용법 : http 나 www 는 제외하고 써 주세요
");

$domain = $argv[1];
$port = 43;

//도메인을 . 으로 나누는것은 도메인과 최상위 도메인을 구분하기 위한 것입니다.
$tl = explode("." , $domain);
$tl_count = count($tl);

//일반적으로 도메인은 domain.com 이나 domain.co.kr의 형태입니다.
if($tl_count < 2 || $tl_count > 3)
die("에러 : 잘못된 도메인 입니다
");

//. 이 두개이면 .com이나 .org의 형태이고 세개이면 .co.kr이나 .or.kr의 형태이므로
//두개이면 국제도메인 , 세개이면 국내 도메인입니다.
if($tl_count == 2)
$hostname = "whois.networksolutions.com";
else if($tl[2] == "kr")
$hostname = "whois.nic.or.kr";
else
die("국제 도메인과 kr 도메인만 검색 가능합니다
");

//지정한 Host의 43번 Port로 Socket을 엽니다
$fp = fsockopen($hostname , 43);

if(!$fp)
die("$hostname 의 $port 번 Port에 접속할 수 없습니다
");

$domain .= "
";

//검색하고자 하는 Domain을 전송합니다.
fwrite($fp , $domain);

//결과를 읽어와서 화면에 출력합니다.
while(!feof($fp)){
echo fgets($fp , 128);
}

//열려진 Socket을 닫습니다.
fclose($fp);
?>
-----------------------------------------------------------------------




2) sms
sms라는 것은 휴대폰으로 간단한 메시지(문자)를 보내는 것을 말하고 여기에서는 019로 문자 메시지를 보내는 것을 구현 하고 있습니다.
이것은 단순히 http://www.lg019.co.kr 에 있는 CGI를 불러오는 것으로서 문자메시지를 전송하게 됩니다.

(참고)
이 SMS는 019휴대폰으로만 메시지 전송이 가능한데 기타 다른 이동통신 서비와는 달리 019는 휴대폰 가입자가 이에대한 요금을 지불 (월정액 2000원)하고 메시지를 보내는 사람은 무료로 메시지를 보내도록 하고 있기때문에 구현하기가 쉬워집니다.
기타 다른 이동통신 서비스로 문자메시지를 보낼경우엔 웹에 Login을 해야 하기 때문에 이에대한 Cookie를 구현해야 합니다.



-------------sms.php--------------------------------------------------
#!/usr/local/bin/php -q
//명령어를 포함하여 필요한 인자는 모두 7개 입니다.
if($argc < 7)
die("sms.php 받는사람번호 보내는사람이름 연락받을번호1 연락받을번호2 연락받을번호3 내용
");

$number = eregi_replace(" " , "+" , $argv[1]);
$sender = eregi_replace(" " , "+" , $argv[2]);
$resp1 = eregi_replace(" " , "+" , $argv[3]);
$resp2 = eregi_replace(" " , "+" , $argv[4]);
$resp3 = eregi_replace(" " , "+" , $argv[5]);
$mesg = eregi_replace(" " , "+" , $argv[6]);

//70 Byte이상은 받지 않더군여~
if(strlen($mesg) > 70)
die("한글은 35자 영문은 70자 이하로 써 주셔여~
");

$remote_host = "http://www.lg019.co.kr/message/onesend.cgi?";
$remote_host.= "number=$number&sender=$sender&resp_number1=$resp1&";
$remote_host.= "resp_number2=$resp2&resp_number3=$resp3&message=$mesg";

$fp = fopen($remote_host , "r");

if(!$fp)
die("전송 실패
");
else{
echo "019$number 로 메시지를 전송하였습니다
";
fclose($fp);
}
?>
--------------------------------------------------------------------




※ 참고
저는 이것을 서버관리할때 PortSentry의 명령어로 사용했습니다. 그러니까.. 누군가 제 서버에 PortScan을 하면 바로 제 휴대폰으로 문자 메시지가 날라오게 해놨었져~ ㅋㅋㅋㅋㅋ

※ 주의사항
sms에서 한가지 주의할 점은 PortSentry의 오동작입니다. 정상적으로 Web으로 접속하는 사용자도 PortScan으로 감지하는 경우가 있더군여~ 이케 되면 평생받을 문자를 하루만에 다 받게 됩니다...
저는 이때 아마 세 보지는 않았지만 2000개 정도의 문자를 받았답니다.. 이거 주금입니다.. ㅋㅋ
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/04/01 18:54 2004/04/01 18:54
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/194

Trackback URL : http://tcbs17.cafe24.com/tc/trackback/194

« Previous : 1 : ... 5961 : 5962 : 5963 : 5964 : 5965 : 5966 : 5967 : 5968 : 5969 : ... 6391 : Next »

블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Statistics Graph

Site Stats

Total hits:
251537
Today:
265
Yesterday:
1251