За последние 24 часа нас посетили 17750 программистов и 1280 роботов. Сейчас ищут 1439 программистов ...

WhoIs

Тема в разделе "Вопросы от блондинок", создана пользователем .50, 30 ноя 2006.

  1. .50

    .50 Активный пользователь

    С нами с:
    7 июн 2006
    Сообщения:
    136
    Симпатии:
    0
    Адрес:
    СПб
    Привет мужики.

    За бугром (http://www.hotscripts.com) скачал скрипт который проверяет доменные имена свободен или нет. Подредактировал, добавил доменную зону .ru (whois.ripn.net).

    Но работает не так как надо, если домена занят то говорит как надо. Если свободен то:

    ---------------------------------------------------------
    gfgfhehgtrh.ru занят!
    % By submitting a query to RIPN's Whois Service
    % you agree to abide by the following terms of use:
    % http://www.ripn.net/about/servpol.html#3.2 (in Russian)
    % http://www.ripn.net/about/en/servpol.html#3.2 (in English).

    No entries found for the selected source(s).

    Last updated on 2006.11.30 10:50:45 MSK/MSD
    ---------------------------------------------------------

    Сходил по ссылкам, почитал, но нечего не понял... Что скажите?
     
  2. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    почему он должен быть занят?
     
  3. .50

    .50 Активный пользователь

    С нами с:
    7 июн 2006
    Сообщения:
    136
    Симпатии:
    0
    Адрес:
    СПб
    Если честно я запутался. Не понимаю твоего вопроса:(
     
  4. Anonymous

    Anonymous Guest

    Кусочек определялки покажи?
     
  5. .50

    .50 Активный пользователь

    С нами с:
    7 июн 2006
    Сообщения:
    136
    Симпатии:
    0
    Адрес:
    СПб
    Три файла: config.inc.php, core.inc.php, queries.inc.php.

    PHP:
    1.  
    2. //config.inc.php
    3.  
    4.  
    5. $config['domain']['extensions'] = array (
    6.  
    7. 'com', 'ru','net','org','biz','info'
    8.  
    9. );
    10.  
    11. /**********************************
    12. The URL to display as a
    13. hyperlink. Leave this blank if you
    14. do not want to let visitors
    15. purchase domains.
    16.  
    17. {DOMAIN} can be used to add in the
    18. domain and extension that the
    19. visitor entered.
    20. ***********************************/
    21. $config['domain']['purchase_url'] = '';
    22.  
    23. /**********************************
    24. Domain purchase text. This doesn't
    25. show if you made the variable
    26. above blank.
    27. ***********************************/
    28. $config['domain']['purchase_text'] = '<a href="'.$config['domain']['purchase_url'].'"> Зарегистрировать {DOMAIN}!</a>';
    29.  
    30. /**********************************
    31. The message to show if the domain
    32. is available.
    33.  
    34. {DOMAIN} can be used to add in the
    35. domain and extension that the
    36. visitor entered.
    37. ***********************************/
    38. $config['domain']['available_text'] = '{DOMAIN} свободен!';
    39.  
    40. /**********************************
    41. Do you want to show the whois
    42. information if the domain is
    43. unavailable?
    44.  
    45. 1 = Yes.
    46. 0 = No.
    47. ***********************************/
    48. $config['domain']['whois_results'] = 1;
    49.  
    50. /**********************************
    51. The message to show if the domain
    52. is unavailable.
    53.  
    54. {DOMAIN} can be used to add in the
    55. domain and extension that the
    56. visitor entered.
    57. ***********************************/
    58. $config['domain']['unavailable_text'] = '{DOMAIN} занят!';
    59.  
    60. /**********************************
    61. Do you want vxWhois to log all
    62. domain lookups to whois.log?
    63.  
    64. 1 = Yes.
    65. 0 = No.
    66. ***********************************/
    67. $config['domain']['log_whois'] = 1;
    68.  
    69. /**********************************
    70. The location and filename of your
    71. whois log file.
    72. ***********************************/
    73. $config['domain']['whois_log_location'] = './wcfg/whois.log';
    74.  
    75. /**********************************
    76. Your administrative email address.
    77. This is used if an error occurs,
    78. and it can be entered in the
    79. $message variables below.
    80. ***********************************/
    81. $config['user']['admin_email'] = '';
    82.  
    83. /**********************************
    84. This shows if queries.inc.php can
    85. not be found in the directory.
    86. ***********************************/
    87. $message['error']['no_query_file']  = '<span class="message"><b>Fatal Error:</b> проблема с
    88. конфигурационным файлом, свяжитесь с администратором
    89. <a href="mailto:'.$config['user']['admin_email'].'">administrator.</a></span>';
    90.  
    91. /**********************************
    92. This shows if the visitor enters
    93. three or less characters in the
    94. domain name.
    95. ***********************************/
    96. $message['error']['lessthan3']      = '<span class="message">Длина доменного имени не менее 3х символов.</span>';
    97.  
    98. /**********************************
    99. This shows if the domain name
    100. starts or ends with a hyphen ( - ).
    101. ***********************************/
    102. $message['error']['hyphens']        = '<span class="message">Ошибка ввода дефиса.</span>';
    103.  
    104. /**********************************
    105. This shows if the visitor enters
    106. special symbols in the domain name.
    107. ***********************************/
    108. $message['error']['characters']     = '<span class="message">Ошибка ввода специального символа.</span>';
    109.  
    110. /**********************************
    111. This shows if vxWhois was unable
    112. to open whois.log. This may be
    113. because you forgot to upload it.
    114. ***********************************/
    115. $message['error']['open_log_file']  = '<span class="message">None log.</span>';
    116.  
    117. /**********************************
    118. This shows if whois.log doesn't
    119. have the correct permissions.
    120.  
    121. The permissions should be 0666.
    122. ***********************************/
    123. $message['error']['perms_log_file'] = '<span class="message">Please CHMOD the file and try again.</span>';
    124.  
    PHP:
    1.  
    2. //core.inc.php
    3.  
    4.  
    5. function formExtensions (){
    6.     global $config;
    7.     /* Show previous selection */
    8.     foreach ($config['domain']['extensions'] as $tld){
    9.         echo '<option value="'.$tld.'">'.$tld.'</option>';
    10.     }
    11. }
    12.  
    13. /* Show Last Domain */
    14. function showPrevious (){
    15.    if (isset($_POST['domainForm'])){
    16.        echo $_POST['domainForm'];
    17.    }
    18. }
    19.  
    20. /* Write to whois.log file. */
    21. function whoisLog ($domain){
    22.     global $message, $config;
    23.     if (@is_writable($config['domain']['whois_log_location'])){
    24.     if (!$fp = @fopen($config['domain']['whois_log_location'], 'a')){
    25.         echo $message['error']['open_log_file'];
    26.     }
    27.     @fwrite($fp, date('Y-m-d @ H:i:s').' - '.$domain."\r\n");
    28.     @fclose($fp);
    29.     } else {
    30.         echo $message['error']['perms_log_file'];
    31.     }
    32. }
    33.  
    34. function domainResults (){
    35.     /* Declare Global Variables */
    36.     global $config, $message;
    37. if (isset($_POST['submitForm']) && $_POST['submitForm'] == 'Check'){
    38.  
    39.     /* Check Domain Length, etc. */
    40.     if (strlen($_POST['domainForm']) < 3){
    41.         echo $message['error']['lessthan3'];
    42.     } elseif (ereg("^-|-$", $_POST['domainForm'])){
    43.         echo $message['error']['hyphens'];
    44.     } elseif (!ereg("([a-z]|[A-Z]|[0-9]|-){".strlen($_POST['domainForm'])."}", $_POST['domainForm'])){
    45.         echo $message['error']['characters'];
    46.     } else {
    47.  
    48.         /* Domain Details for Whois checks */
    49.         if (file_exists('./wcfg/queries.inc.php')){
    50.             require_once('./wcfg/queries.inc.php');
    51.         } else {
    52.             exit($message['error']['no_query_file']);
    53.         }
    54.  
    55.         /* Do the Whois */
    56.         $domain = $_POST['domainForm'].'.'.$_POST['extForm'];
    57.         $ns = fsockopen($server, 43); fputs($ns, "$domain\r\n");
    58.         $result = '';
    59.         while(!feof($ns)) $result .= fgets($ns, 128); fclose($ns);
    60.             if (eregi($avail_msg, $result)){
    61.                 // Domain is available.
    62.                 if ($config['domain']['purchase_url'] != ''){
    63.                 $output = str_replace('{DOMAIN}', $domain, $config['domain']['available_text']);
    64.                 $output .= str_replace('{DOMAIN}', $domain, $config['domain']['purchase_text']);
    65.             } else {
    66.                  $output = str_replace('{DOMAIN}', $domain, $config['domain']['available_text']);
    67.             }
    68.             echo $output;
    69.             } else {
    70.                 // Domain is unavailable.
    71.                 if ($config['domain']['whois_results'] == 1){
    72.                     $output = str_replace('{DOMAIN}', $domain, $config['domain']['unavailable_text']);
    73.                     echo $output;
    74.                     echo '<pre>';
    75.                     $fp = fsockopen($server, 43);
    76.                     fputs($fp, "$domain\r\n");
    77.                     while(!feof($fp)){
    78.                         echo fgets($fp, 128);
    79.                     }
    80.                     fclose($fp);
    81.                     echo '</pre>';
    82.  
    83.                 } else {
    84.                     $output = str_replace('{DOMAIN}', $domain, $config['domain']['unavailable_text']);
    85.                     echo $output;
    86.                 }
    87.             }
    88.             /* Write to log file. */
    89.             if ($config['domain']['log_whois'] == 1){
    90.             whoisLog($domain);
    91.             }
    92.         }
    93.     }
    94. }
    95.  
    96.  
    PHP:
    1.  
    2. //queries.inc.php
    3.  
    4. switch ($_POST['extForm']){ // Don't edit this line.
    5.  
    6.     case 'com':
    7.         $server = 'whois.opensrs.net';
    8.         $avail_msg  = 'Can\'t get information';
    9.     break;
    10.    
    11.     case 'ru':
    12.         $server = 'whois.ripn.net';
    13.         $avail_msg  = 'Can\'t get information';
    14.     break;
    15.  
    16.     case 'net':
    17.         $server = 'whois.opensrs.net';
    18.         $avail_msg  = 'Can\'t get information';
    19.     break;
    20.  
    21.     case 'org':
    22.         $server = 'whois.publicinterestregistry.net';
    23.         $avail_msg  = 'NOT FOUND';
    24.     break;
    25.  
    26.     case 'biz':
    27.         $server = 'whois.nic.biz';
    28.         $avail_msg  = 'Not found';
    29.     break;
    30.  
    31.     case 'info':
    32.         $server = 'whois.opensrs.net';
    33.         $avail_msg  = 'Not found';
    34.    break;
    35.  
    36.    case 'co.uk':
    37.         $server = 'whois.nic.uk';
    38.         $avail_msg  = 'No match for';
    39.    break;
    40.  
    41.    case 'org.uk':
    42.         $server = 'whois.nic.uk';
    43.         $avail_msg  = 'No match for';
    44.    break;
    45.  
    46.    case 'me.uk':
    47.         $server = 'whois.nic.uk';
    48.         $avail_msg  = 'No match for';
    49.    break;
    50.      
    51.    /* Add more here... */
    52. }
    53.  
    54.