#!./perl ##################################################################### # # *** W a y - W H O I S *** # Version 1.4 #-------------------------------------------------------------------- # Developed by Lim, Dae-Ho # lawwal@waycgi.com # http://way.co.kr # ##################################################################### # 1999. 3.31 by lawwal Ver 1.0 # 1999. 9. 4 by lawwal Ver 1.1 # 2000. 2.21 by lawwal Ver 1.3 # 2000. 6.23 by lawwal Ver 1.4 ##################################################################### use Socket; &input_form; $input{'µµ¸ÞÀθí'} = uc($input{'µµ¸ÞÀθí'}); $input{'µµ¸ÞÀθí'} =~ s/^ +| +$//g; $input{'µµ¸ÞÀθí'} =~ s/^\.+|\.+$//g; $input{'ºÐ·ù'} = uc($input{'ºÐ·ù'}); $domain = "$input{'µµ¸ÞÀθí'}$input{'ºÐ·ù'}"; ✓ if ($input{'µµ¸ÞÀθí'} ne "") { &job; if(@error) { &result("ERR"); } } &result; ##################################################################### sub check { $domain_ck = $input{'µµ¸ÞÀθí'}; $domain_ck =~ s/[A-Z0-9\-\.]//g; $domain_ck_2 = $input{'µµ¸ÞÀθí'}; if($domain_ck) { push(@error, "µµ¸ÞÀθíÀº ¿µ¹®, ¼ýÀÚ, \"-\"±âÈ£¸¸À» Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù."); } if($domain_ck_2 =~ /^\-|\-$/) { push(@error, "\"-\"±âÈ£´Â Á¦ÀÏ ¾Õ°ú µÚ¿¡ »ç¿ëÇÏ½Ç ¼ö ¾ø½À´Ï´Ù."); } } ##################################################################### sub job { $domain_ext = $domain; $domain_ext =~ s/.*\.//g; if($domain_ext eq "KR") { $server = "whois.krnic.net"; } elsif($domain_ext eq "MIL") { $server = "whois.nic.mil"; } elsif($domain_ext eq "JP") { $server = "whois.nic.ad.jp"; } elsif($domain_ext eq "FR") { $server = "whois.nic.fr"; } elsif($domain_ext eq "CN") { $server = "whois.cnnic.net.cn"; } elsif($domain_ext eq "SG") { $server = "whois.nic.net.sg"; } elsif($domain_ext eq "DE") { $server = "whois.denic.de"; } elsif($domain_ext eq "TO") { $server = "whois.tonic.to"; } else { $server = "whois.networksolutions.com"; } if($server) { $result = WhoisQuery($server, $domain); } $server || ($server = "rs.internic.net"); if(!$result) { push(@error, "µµ¸ÞÀÎ °ü¸®±â°ü($server)¿¡ Á¢¼ÓÇÒ ¼ö ¾ø½À´Ï´Ù. Àá½ÃÈÄ ´Ù½Ã ½ÃµµÇØ Áֽñ⠹ٶø´Ï´Ù."); } } ##################################################################### sub WhoisQuery { my $server = shift; my $query = shift; my $result; my $r = "\r"; socket(SOCK, PF_INET, SOCK_STREAM, 6) || return 0; my $sin = sockaddr_in(43, inet_aton($server)); connect(SOCK, $sin) || return 0; my ($old) = select(SOCK); $|=1; select($old); print SOCK "$query$r\n"; while() { $result .= $_; } close(SOCK); return $result; } ##################################################################### sub result { local($err_msg) = @_; $result =~ s/([^(\"|')]|^)((http|https|ftp|telnet|news):\/\/[A-Za-z0-9:&#=_\?\/~\.\+\%\@-]+)/$1$2<\/A>/g; $result =~ s/([A-Za-z0-9]+@[A-Za-z0-9-]+\.[A-Za-z0-9-\.]+)/$1<\/A>/g; $result =~ s/³×ÀÓ¼­¹öÀÇ À̸§ÀÌ \.kr·Î ³¡³ªÁö ¾Ê´Â °æ¿ì.*\n/\n/; print "Content-type: text/html\n\n"; print <<"__HTML__"; Way-WHOIS

__HTML__ if ($input{'µµ¸ÞÀθí'} eq "") { print <<"__HTML__"; __HTML__ } else { print <<"__HTML__"; __HTML__ if($err_msg eq "ERR") { $result = ""; foreach $er(@error) { $result .= "
  • $er
    \n"; } print <<"__HTML__";
  • __HTML__ } else { $result =~ s/\n/
    /g; $result =~ s/ /  /g; print <<"__HTML__"; __HTML__ } } print " "; exit; } ##################################################################### sub input_form { # »ç¿ëÇÒ º¯¼ö¸¦ Áö¿ªº¯¼ö·Î ¼±¾ð local ($form, $tmp, $key, $value); # GET, POST ¹æ½ÄÀ» ÆǺ°ÇÏ¿© ÀÎÀÚ ½Àµæ if($ENV{'REQUEST_METHOD'} eq "GET") { $form = $ENV{'QUERY_STRING'}; } if($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $form, $ENV{'CONTENT_LENGTH'}); } # Å°¿Í °ªÀ¸·Î ±¸ºÐÇÏ°í, 16Áø¼ö¸¦ 10Áø¼ö·Î º¯È¯ foreach $tmp (split(/&/, $form)) { ($key, $value) = split(/=/, $tmp); $key =~ tr/+/ /; $value =~ tr/+/ /; $key =~ s/%(..)/pack("C", hex($1))/ge; $value =~ s/%(..)/pack("C", hex($1))/ge; $input{$key} = $value; } } #####################################################################
    Way-WHOIS   Version 1.4
    ȨÀ¸·Î - ÀÌÀüÈ­¸é
    µµ¸ÞÀθí
     
    µµ¸ÞÀÎ ±ÔÄ¢Àº ¿µ¹®°ú ¼ýÀÚ¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖÀ¸¸ç "-" ±âÈ£¸¦ »çÀÌ¿¡ ³ÖÀ» ¼öµµ ÀÖ½À´Ï´Ù.
    µµ¸ÞÀÎ ¾Õ¿¡ www µîÀ» ºÙÀÌÁö ¸¶½Ã°í Á¶È¸ÇϽñ⠹ٶø´Ï´Ù.
    µµ¸ÞÀθí $domain
    Á¶È¸½ÇÆÐ $result
    ÁúÀǼ­¹ö $server
    »ó¼¼Á¤º¸ $result