Помощь - Поиск - Пользователи - Календарь
Полная версия: IP и Whois
Онлайн-форум hostobzor.ru > Архив (темы до 1.06.2015). Только для чтения. > Коммерческий хостинг. Общие форумы > Флейм
shram
есть служба Ваш IP и Whois

Вы бы не могли бы прислать исходники этих скриптов?
Прошу очень пошагово, как и куда...

И как его отобразить на моём сайте...


Я так понял достаточно будет
для IP
<script src="мой сайт/ip/"></script>

и для Whois
<FORM action=whois.php method=post>


Спасибо в любом случае.
levb
Google для чего?

Не сочтите за грубость. Задача элементарная, и если Вы сами потрудитесь её решить, получите не только удовольствие, но и новые знания.
Admin
Цитата(shram @ 18.07.2006, 18:54) *

есть служба Ваш IP и Whois

Вы бы не могли бы прислать исходники этих скриптов?
Прошу очень пошагово, как и куда...

И как его отобразить на моём сайте...
Я так понял достаточно будет
для IP
<script src="мой сайт/ip/"></script>

и для Whois
<FORM action=whois.php method=post>
Спасибо в любом случае.

Не совсем понял, кому адресована просьба. Какие именно скрипты Вас интересуют? Приведите хотя бы ссылки на те страницы, где Вы их видели.
shram
обясняю...
я не программист а финансист.
но у меня есть хобби - свой сайт.
по мере возможности я ищу дополнения к нему...
написал сайт в блокноте ...

Вот теперь бы хотел бы написать скрипты
определения IP
и Whois

пробывал уже кучу разных...
интересует !безопасный! обычный скрипт для моего сайта


вот что я пробывал... WhoIs
#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard);

print "Content-Type: text/plain\n\n";
my $host=param('host');
$host=~s/[^a-zA-Z0-9._-]+//g;
print qx{whois $host};


но он не работает....
вызываю его так:

<form method=get action="/cgi-bin/whois.pl">

не работает...

Вот что пробывал с IP
if($ip_address=getenv("http_client_ip"));
elseif($ip_address=getenv("http_x_forwarded_for"));
else{
$ip_address=getenv("remote_addr");
}
if($ip_address=="unknown"){
$ip_address=getenv("remote_addr");
}


незнаю даже как его вызвать...



Помогите пожайлуста....
спасибо
eSupport.org.ua
Если Вы не программист а финансист, может стоит профинансировать программиста который напишет нужный скрипт?
shram
Цитата(eSupport.org.ua @ 19.07.2006, 09:30) *

Если Вы не программист а финансист, может стоит профинансировать программиста который напишет нужный скрипт?



слушай.. ты такой умный.. и не программист и не финасист.. кто ты ваще? Фрейд?..

а ответить и помочь мне слабо шоли? mellow.gif
ex-SavaHost
Во первых - здесь принято общаться на Вы.
Во вторых - http://www.google.co.uk/search?hl=en&q=who...le+Search&meta=
В третьих - если бы не ленились, нашли бы прямо на этом форуме темы про скрипт Whois.
В четвёртых - я вчера хотел найти ссылку, но было некогда. Сегодня после Ваших высказываний я её искать точно не буду.
И вряд-ли кто-то займётся делать за Вас всю работу, с "пошаговыми инструкциями" - здесь хоть и не финансисты, но времени у людей тоже мало, лентяям помогать некогда. tongue.gif
kosmohost.com
Простейший скрипт для определения whois IP и доменов


Код

<?php
//$ip - домен или ip
$whois = `whois $ip`;

//создаем переводы строк
$whois = trim(str_replace("\n","<br>",$whois));

//выводим результат на экран
echo "<p>$whois</p>";

?>
eSupport.org.ua
Цитата(shram @ 19.07.2006, 14:16) *

а ответить и помочь мне слабо шоли? mellow.gif


Не слабО smile.gif - код скрипта:
#!/bin/sh
echo "Content-Type: text/plain"
echo
echo
whois hostobzor.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).

domain: HOSTOBZOR.RU
type: CORPORATE
nserver: ns1.hostobzor.ru. 83.97.111.92
nserver: ns2.hostobzor.ru. 83.97.110.177
state: REGISTERED, DELEGATED
person: Petr P Palamarchuk
phone: +7 812 5214707
fax-no: +7 812 5214707
e-mail: ppp@hostobzor.ru
registrar: RUCENTER-REG-RIPN
created: 2001.03.13
paid-till: 2007.03.14
source: TC-RIPN


Last updated on 2006.07.19 20:01:27 MSK/MSD


Успехов
shram
Цитата(SavaHost.com @ 19.07.2006, 14:35) *

Во первых - здесь принято общаться на Вы.
Во вторых - http://www.google.co.uk/search?hl=en&q=who...le+Search&meta=
В третьих - если бы не ленились, нашли бы прямо на этом форуме темы про скрипт Whois.
В четвёртых - я вчера хотел найти ссылку, но было некогда. Сегодня после Ваших высказываний я её искать точно не буду.
И вряд-ли кто-то займётся делать за Вас всю работу, с "пошаговыми инструкциями" - здесь хоть и не финансисты, но времени у людей тоже мало, лентяям помогать некогда. tongue.gif



сколько слов... и все без дела ... как на базаре... сакс ВАМ tongue.gif
shram
Цитата(kosmohost.com @ 19.07.2006, 14:41) *

Простейший скрипт для определения whois IP и доменов
Код

<?php
//$ip - домен или ip
$whois = `whois $ip`;

//создаем переводы строк
$whois = trim(str_replace("\n","<br>",$whois));

//выводим результат на экран
echo "<p>$whois</p>";

?>





огромное спасибо!

Но вот вопрос как его применить на практике.

сам скрипт ложу в cgi-bin

а вызывать его чем? формой методом GET?


типа такого:


<form method=get action="/cgi-bin/whois.php">
<input type=text name=whois size=16><br>
<input type=submit value="Check">
</form>


я вот чего не пойму...
как скрипт будет определять форму name=whois
в скрипте же нет ничего такого...

и ещо о безопасности... безопасный скрипт?


Спасибо ещо раз...


=============================================================================

Цитата(eSupport.org.ua @ 19.07.2006, 19:06) *

Не слабО smile.gif - код скрипта:
#!/bin/sh
echo "Content-Type: text/plain"
echo
echo
whois hostobzor.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).

domain: HOSTOBZOR.RU
type: CORPORATE
nserver: ns1.hostobzor.ru. 83.97.111.92
nserver: ns2.hostobzor.ru. 83.97.110.177
state: REGISTERED, DELEGATED
person: Petr P Palamarchuk
phone: +7 812 5214707
fax-no: +7 812 5214707
e-mail: ppp@hostobzor.ru
registrar: RUCENTER-REG-RIPN
created: 2001.03.13
paid-till: 2007.03.14
source: TC-RIPN
Last updated on 2006.07.19 20:01:27 MSK/MSD
Успехов




тут мы используем просто whois на перле....

как его всетаки испозовать из формы у себя на сайте...

<form method=get action="/cgi-bin/whois.pl">
<input type=text name=whois size=16><br>
<input type=submit value="Check">
</form>

и сразу 2 вопроса пожайлуста:
1. как в скрипте обозначить чтоб он обрабатывал именно эту форму name=whois
2. безопасность скрипта...


спасибо
eSupport.org.ua
Ответ на оба вопроса - man perl.
Боюсь Вам не подойдет.
Можете не отвечать мне - Вы в игноре.
kosmohost.com
shram, учите мат. часть!...
shram
я ж пришол сюда за помощью...
попросил нормально...

не все такие умные по веб програмированию как вы...

зато никто из вас не спраить с консолидацией или актуарием лутче меня...

давай те не будет про мат. часть... учил я ее... поетому предложил варианты как я понимаю етот процесс... и прошу вас подправить...

или жалко помочь?sad.gif

П.С. Скрипт хуис и определения апи.. в инете и без вас найти могу...
а как применить его к сайту. обратился спец к вам...
И что же не поможете?


П.П.С

<?php
//$ip - домен или ip
$whois = `whois $ip`;

//создаем переводы строк
$whois = trim(str_replace("\n","<br>",$whois));

//выводим результат на экран
echo "<p>$whois</p>";

?>


код просто вставить в страничку? - ничего не получаеться...
я так понял есть переменная whois
ее нужно будет вывести на страничку...
как это сделатььььь???


П.П.П.С
и прошу помочь с хуис... и можете забыть про меня
ex-SavaHost
Цитата(shram @ 21.07.2006, 09:39) *
попросил нормально...
Цитата(shram @ 19.07.2006, 12:16)
слушай.. ты такой умный.. и не программист и не финасист.. кто ты ваще? Фрейд?..

Вот это хамство Вы считаете нормально???
shram
Цитата(eSupport.org.ua @ 19.07.2006, 09:30) *

Если Вы не программист а финансист, может стоит профинансировать программиста который напишет нужный скрипт?



а ето нормальное отношение по вашему? сногшибалтельный ответ... не находите? именно по теме
именно не флуд!


===============================================================

#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard);

print "Content-Type: text/plain\n\n";
my $host=param('host');
$host=~s/[^a-zA-Z0-9._-]+//g;
print qx{whois $host};


вот я написал по мат части скрипт whois с проверкой...


вставляю его в страницу так:

<form method=get action="/cgi-bin/whois.pl">
<input type=text name=whois size=16>
<input type=submit value="Check">
</form>

но нифига не пашет...
и шо скажите я не учил мат часть?
===============================================================


<?php
//$ip - домен или ip
$whois = `whois $ip`;

//создаем переводы строк
$whois = trim(str_replace("\n","<br>",$whois));

//выводим результат на экран
echo "<p>$whois</p>";

?>


Как код вывести на страницу?
просто вставить в страничку? - ничего не получаеться...
levb
Адресом ошиблись, батенька.
Вам надо обращаться на форумы html/php/perl-программирования.
Здесь обсуждают подобные вопросы только, если человек их задающий – вполне адекватен, а, в целом, форум посвящён другим вопросам.
shram
=( ужасно зажатые закомплексованые вы люди
Lord Daedra
Прежде, чем что-то написать, надо подумать, правила форума почитать, последить за атмосферой общения и темами разговора.

Вы бы получили то, чего хотели, если бы умели просто вежливо общаться и уважать окружающих Вас людей в независимости от того, помогли они Вам или нет...
web-money.biz
Цитата(shram @ 21.07.2006, 12:54) *

=( ужасно зажатые закомплексованые вы люди


Ох... Ладно... Так уж и быть... Вот Вам ГОТОВЫЙ скрипт для whois...

Просто назовите его whois.php, положите в папку public_html и запустите. Скрипт 100% рабочий... Ничего в скрипте менять не надо - полная автоматика...

Код

<?php

function whois($dir,$domain) {
   $dr = $_SERVER['DOCUMENT_ROOT']."/"; // Папка для временных файлов
   $dh = opendir($dr.$dir); // Открываем
   while (false !== ($file = readdir($dh))) {  // Читаем
       if ($file != "." && $file != "..") {
           $fullpath = $dr.$dir."/".$file; // Ищем где создать временный файл для результата
           if (!is_dir($fullpath)) {
               unlink($fullpath); // Удаляем временный файл
           }else{
               whois($dir."/".$file,null); // Если удалили - считываем нужную нам информацию
           }
       }
   }
   closedir($dh); // Закрываем используемые ресурсы
   return rmdir($dr.$dir); // Возвращаем информацию о домене
}


if (!isset($_POST['domain'])) // если первое обращение - выводим форму для хуиза
{
echo "<form action='whois.php' method=post>Домен - <input type=text name=domain maxlenght=40 size=16><br><input type=button value='Проверить домен!'></form>";
}
else echo whois(null,$_POST['domain']); // Выводим результаты хуиз

?>
deMone
Да: иногда можно добиться результатов и без вежливости.
Artur Smolkin
Прошу прощения, что поднимаю старую тему, но решил не создавать новую, так как здесь все по делу.

В общем, скрипт у меня такой:

Код


<center>

<form method=post>

<input type=text name=ip size=35>

<input type=submit value='Введите IP-адрес'>

</form>

</center>

<?php

if(!empty($_POST['ip'])) echo whois("whois.ripn.net",$_POST['ip']);



function whois($url,$ip)

{

  // Соединение с сокетом TCP, ожидающим на сервере "whois.ripn.net" по

  // 43 порту. В результате возвращается дескриптор соединения $sock.

  $sock = fsockopen($url, 43, $errno, $errstr);

  if (!$sock) exit("$errno($errstr)");

  else

  {

    echo $url."<br>";

    // Записываем строку из переменной $_POST["ip"] в дескриптор сокета.

    fputs ($sock, $ip."\r\n");

    // Осуществляем чтение из дескриптора сокета.

    $text = "";

    while (!feof($sock))

    {

      $text .= fgets ($sock, 128)."<br>";

    }

    // закрываем соединение

    fclose ($sock);



    // Ищем реферальный сервер

    $pattern = "|ReferralServer: whois://([^\n<:]+)|i";

    preg_match($pattern, $text, $out);

    if(!empty($out[1])) return whois($out[1], $ip);

    else return $text;

  }

}



Сразу оговорюсь, что скрипт не мною писан, а взят в сети. Скрипт рабочий, я уже проверил. У меня возник один вопрос: как, имея данный скрипт, вывести вверху результата такую строчке вроде "Домен example.com занят" или "Домен example.com свободен", полученную на основе результатов проверки? Я ничего не понимаю в php и могу воспользоваться только командой include в нем, поэтому очень прошу помочь мне. Заранее благодарю!
lazutov
Код


<form method=post>
<input type=text name=ip size=35>
<input type=submit value='Введите IP-адрес'>
</form>

<?
function writelog($lact,$IP,$file='log.txt'){
   $log=fopen('logs/'.$file,"a+");
   fputs($log,date("d/m/Y H:i:s ")); // текущее время
   fputs($log,$IP.' ');
   fputs($log,$lact."\n");
   fclose($log);
   return true;
}

function whois($url,$ds=false){
    $srv = array(
      array("int.ru","whois.int.ru","No match"),
      array("ac","whois.nic.ac","No match"),
      array("ac.cn","whois.cnnic.net.cn","no matching record"),
      array("ac.jp","whois.nic.ad.jp","No match"),
      array("ac.uk","whois.ja.net","No such domain"),
      array("ad.jp","whois.nic.ad.jp","No match"),
      array("adm.br","whois.nic.br","No match"),
      array("adv.br","whois.nic.br","No match"),
      array("aero","whois.information.aero","is available"),
      array("ag","whois.nic.ag","Not found"),
      array("agr.br","whois.nic.br","No match"),
      array("ah.cn","whois.cnnic.net.cn","No entries found"),
      array("al","whois.ripe.net","No entries found"),
      array("am","whois.amnic.net","No match"),
      array("am.br","whois.nic.br","No match"),
      array("arq.br","whois.nic.br","No match"),
      array("at","whois.nic.at","nothing found"),
      array("au","whois.aunic.net","No Data Found"),
      array("art.br","whois.nic.br","No match"),
      array("as","whois.nic.as","Domain Not Found"),
      array("asn.au","whois.aunic.net","No Data Found"),
      array("ato.br","whois.nic.br","No match"),
      array("av.tr","whois.nic.tr","Not found in database"),
      array("az","whois.ripe.net","no entries found"),
      array("ba","whois.ripe.net","No match for"),
      array("be","whois.geektools.com","No such domain"),
      array("bg","whois.digsys.bg","does not exist"),
      array("bio.br","whois.nic.br","No match"),
      array("biz","whois.biz","Not found"),
      array("biz.tr","whois.nic.tr","Not found in database"),
      array("bj.cn","whois.cnnic.net.cn","No entries found"),
      array("bel.tr","whois.nic.tr","Not found in database"),
      array("bmd.br","whois.nic.br","No match"),
      array("br","whois.registro.br","No match"),
      array("by","whois.ripe.net","no entries found"),
      array("ca","whois.cira.ca","Status: AVAIL"),
      array("cc","whois.nic.cc","No match"),
      array("cd","whois.cd","No match"),
      array("ch","whois.nic.ch","We do not have an entry"),
      array("cim.br","whois.nic.br","No match"),
      array("ck","whois.ck-nic.org.ck","No entries found"),
      array("cl","whois.nic.cl","no existe"),
      array("cn","whois.cnnic.net.cn","No entries found"),
      array("cng.br","whois.nic.br","No match"),
      array("cnt.br","whois.nic.br","No match"),
      array("com","whois.verisign-grs.com","No match"),
      array("com.au","whois.aunic.net","No Data Found"),
      array("com.br","whois.nic.br","No match"),
      array("com.cn","whois.cnnic.net.cn","No entries found"),
      array("com.eg","whois.ripe.net","No entries found"),
      array("com.hk","whois.hknic.net.hk","No Match for"),
      array("com.mx","whois.nic.mx","Nombre del Dominio"),
      array("com.tr","whois.nic.tr","Not found in database"),
      array("com.ru","whois.ripn.ru","No entries found"),
      array("com.tw","whois.twnic.net","NO MATCH TIP"),
      array("com.ua","whois.ripe.net","No entries found"),
      array("conf.au","whois.aunic.net","No entries found"),
      array("co.at","whois.nic.at","nothing found"),
      array("co.jp","whois.nic.ad.jp","No match"),
      array("co.uk","whois.nic.uk","No match for"),
      array("cq.cn","whois.cnnic.net.cn","No entries found"),
      array("csiro.au","whois.aunic.net","No Data Found"),
      array("cx","whois.nic.cx","No match"),
      array("cy","whois.ripe.net","no entries found"),
      array("cz","whois.nic.cz","No data found"),
      array("de","whois.denic.de","not found"),
      array("dr.tr","whois.nic.tr","Not found in database"),
      array("dk","whois.dk-hostmaster.dk","No entries found"),
      array("dz","whois.ripe.net","no entries found"),
      array("ecn.br","whois.nic.br","No match"),
      array("ee","whois.eenet.ee","NOT FOUND"),
      array("edu","whois.verisign-grs.net","No match"),
      array("edu.au","whois.aunic.net","No Data Found"),
      array("edu.br","whois.nic.br","No match"),
      array("edu.tr","whois.nic.tr","Not found in database"),
      array("eg","whois.ripe.net","No entries found"),
      array("es","whois.ripe.net","No entries found"),
      array("esp.br","whois.nic.br","No match"),
      array("etc.br","whois.nic.br","No match"),
      array("eti.br","whois.nic.br","No match"),
      array("eun.eg","whois.ripe.net","No entries found"),
      array("emu.id.au","whois.aunic.net","No Data Found"),
      array("eng.br","whois.nic.br","No match"),
      array("eu","whois.eu","Status:      FREE"),
      array("far.br","whois.nic.br","No match"),
      array("fi","whois.ripe.net","No entries found"),
      array("fj","whois.usp.ac.fj",""),
      array("fj.cn","whois.cnnic.net.cn","No entries found"),
      array("fm.br","whois.nic.br","No match"),
      array("fnd.br","whois.nic.br","No match"),
      array("fo","whois.ripe.net","no entries found"),
      array("fot.br","whois.nic.br","No match"),
      array("fst.br","whois.nic.br","No match"),
      array("fr","whois.nic.fr","No entries found"),
      array("gb","whois.ripe.net","No match for"),
      array("gb.com","whois.nomination.net","No match for"),
      array("gb.net","whois.nomination.net","No match for"),
      array("g12.br","whois.nic.br","No match"),
      array("gd.cn","whois.cnnic.net.cn","No entries found"),
      array("ge","whois.ripe.net","no entries found"),
      array("gen.tr","whois.nic.tr","Not found in database"),
      array("ggf.br","whois.nic.br","No match"),
      array("gl","whois.ripe.net","no entries found"),
      array("gr","whois.ripe.net","no entries found"),
      array("gr.jp","whois.nic.ad.jp","No match"),
      array("gs","whois.adamsnames.tc","is not registered"),
      array("gs.cn","whois.cnnic.net.cn","No entries found"),
      array("gov.au","whois.aunic.net","No Data Found"),
      array("gov.br","whois.nic.br","No match"),
      array("gov.cn","whois.cnnic.net.cn","No entries found"),
      array("gov.hk","whois.hknic.net.hk","No Match for"),
      array("gov.tr","whois.nic.tr","Not found in database"),
      array("gob.mx","whois.nic.mx","Nombre del Dominio"),
      array("gs","whois.adamsnames.tc","is not registered"),
      array("gz.cn","whois.cnnic.net.cn","No entries found"),
      array("gx.cn","whois.cnnic.net.cn","No entries found"),
      array("he.cn","whois.cnnic.net.cn","No entries found"),
      array("ha.cn","whois.cnnic.net.cn","No entries found"),
      array("hb.cn","whois.cnnic.net.cn","No entries found"),
      array("hi.cn","whois.cnnic.net.cn","No entries found"),
      array("hl.cn","whois.cnnic.net.cn","No entries found"),
      array("hn.cn","whois.cnnic.net.cn","No entries found"),
      array("hm","whois.registry.hm","(null)"),
      array("hk","whois.hknic.net.hk","No Match for"),
      array("hk.cn","whois.cnnic.net.cn","No entries found"),
      array("hu","whois.ripe.net","MAXCHARS:500"),
      array("id.au","whois.aunic.net","No Data Found"),
      array("ie","whois.domainregistry.ie","no match"),
      array("ind.br","whois.nic.br","No match"),
      array("imb.br","whois.nic.br","No match"),
      array("inf.br","whois.nic.br","No match"),
      array("info","whois.afilias.info","Not found"),
      array("info.au","whois.aunic.net","No Data Found"),
      array("info.tr","whois.nic.tr","Not found in database"),
      array("it","whois.nic.it","No entries found"),
      array("idv.tw","whois.twnic.net","NO MATCH TIP"),
      array("int","whois.iana.org","not found"),
      array("is","whois.isnic.is","No entries found"),
      array("il","whois.isoc.org.il","No data was found"),
      array("jl.cn","whois.cnnic.net.cn","No entries found"),
      array("jor.br","whois.nic.br","No match"),
      array("jp","whois.nic.ad.jp","No match"),
      array("js.cn","whois.cnnic.net.cn","No entries found"),
      array("jx.cn","whois.cnnic.net.cn","No entries found"),
      array("k12.tr","whois.nic.tr","Not found in database"),
      array("ke","whois.rg.net","No match for"),
      array("kr","whois.krnic.net","is not registered"),
      array("la","whois.nic.la","NO MATCH"),
      array("lel.br","whois.nic.br","No match"),
      array("li","whois.nic.ch","We do not have an entry"),
      array("lk","whois.nic.lk","No domain registered"),
      array("ln.cn","whois.cnnic.net.cn","No entries found"),
      array("lt","ns.litnet.lt","No matches found"),
      array("lu","whois.dns.lu","No entries found"),
      array("lv","whois.ripe.net","no entries found"),
      array("ltd.uk","whois.nic.uk","No match for"),
      array("ma","whois.ripe.net","No entries found"),
      array("mat.br","whois.nic.br","No match"),
      array("mc","whois.ripe.net","No entries found"),
      array("md","whois.ripe.net","No match for"),
      array("me.uk","whois.nic.uk","No match for"),
      array("med.br","whois.nic.br","No match"),
      array("mil","whois.nic.mil","No match"),
      array("mil.br","whois.nic.br","No match"),
      array("mil.tr","whois.nic.tr","Not found in database"),
      array("mk","whois.ripe.net","No match for"),
      array("mn","whois.nic.mn","Domain not found"),
      array("mo.cn","whois.cnnic.net.cn","No entries found"),
      array("ms","whois.adamsnames.tc","is not registered"),
      array("mt","whois.ripe.net","No Entries found"),
      array("mus.br","whois.nic.br","No match"),
      array("mx","whois.nic.mx","Nombre del Dominio"),
      array("name","whois.nic.name","No match"),
      array("name.tr","whois.nic.tr","Not found in database"),
      array("ne.jp","whois.nic.ad.jp","No match"),
      array("net","whois.verisign-grs.com","No match"),
      array("net.au","whois.aunic.net","No Data Found"),
      array("net.br","whois.nic.br","No match"),
      array("net.cn","whois.cnnic.net.cn","No entries found"),
      array("net.eg","whois.ripe.net","No entries found"),
      array("net.hk","whois.hknic.net.hk","No Match for"),
      array("net.lu","whois.dns.lu","No entries found"),
      array("net.mx","whois.nic.mx","Nombre del Dominio"),
      array("net.uk","whois.nic.uk","No match for "),
      array("net.ru","whois.ripn.ru","No entries found"),
      array("net.tr","whois.nic.tr","Not found in database"),
      array("net.tw","whois.twnic.net","NO MATCH TIP"),
      array("nl","whois.domain-registry.nl","is not a registered domain"),
      array("nm.cn","whois.cnnic.net.cn","No entries found"),
      array("no","whois.norid.no","no matches"),
      array("no.com","whois.nomination.net","No match for"),
      array("nom.br","whois.nic.br","No match"),
      array("not.br","whois.nic.br","No match"),
      array("ntr.br","whois.nic.br","No match"),
      array("nu","whois.nic.nu","NO MATCH for"),
      array("nx.cn","whois.cnnic.net.cn","No entries found"),
      array("nz","whois.domainz.net.nz","Not Listed"),
      array("plc.uk","whois.nic.uk","No match for"),
      array("odo.br","whois.nic.br","No match"),
      array("oop.br","whois.nic.br","No match"),
      array("or.jp","whois.nic.ad.jp","No match"),
      array("or.at","whois.nic.at","nothing found"),
      array("org","whois.pir.org","NOT FOUND"),
      array("org.au","whois.aunic.net","No Data Found"),
      array("org.br","whois.nic.br","No match"),
      array("org.cn","whois.cnnic.net.cn","No entries found"),
      array("org.hk","whois.hknic.net.hk","No Match for"),
      array("org.lu","whois.dns.lu","No entries found"),
      array("org.ru","whois.ripn.net","No entries found"),
      array("org.tr","whois.nic.tr","Not found in database"),
      array("org.tw","whois.twnic.net","NO MATCH TIP"),
      array("org.uk","whois.nic.uk","No match for"),
      array("pk","whois.pknic.net","is not registered"),
      array("pl","whois.ripe.net","No information about"),
      array("pol.tr","whois.nic.tr","Not found in database"),
      array("pp.ru","whois.ripn.ru","No entries found"),
      array("ppg.br","whois.nic.br","No match"),
      array("pro.br","whois.nic.br","No match"),
      array("psi.br","whois.nic.br","No match"),
      array("psc.br","whois.nic.br","No match"),
      array("pt","whois.ripe.net","No match for"),
      array("qh.cn","whois.cnnic.net.cn","No entries found"),
      array("qsl.br","whois.nic.br","No match"),
      array("rec.br","whois.nic.br","No match"),
      array("ro","whois.ripe.net","No entries found"),
      array("ru","whois.ripn.net","No entries found"),
      array("sc.cn","whois.cnnic.net.cn","No entries found"),
      array("sd.cn","whois.cnnic.net.cn","No entries found"),
      array("se","whois.nic-se.se","No data found"),
      array("se.com","whois.nomination.net","No match for"),
      array("se.net","whois.nomination.net","No match for"),
      array("sg","whois.nic.net.sg","NO entry found"),
      array("sh","whois.nic.sh","No match for"),
      array("sh.cn","whois.cnnic.net.cn","No entries found"),
      array("si","whois.arnes.si","No entries found"),
      array("sk","whois.ripe.net","no entries found"),
      array("slg.br","whois.nic.br","No match"),
      array("sm","whois.ripe.net","no entries found"),
      array("sn.cn","whois.cnnic.net.cn","No entries found"),
      array("srv.br","whois.nic.br","No match"),
      array("st","whois.nic.st","No entries found"),
      array("su","whois.ripn.net","No entries found"),
      array("sx.cn","whois.cnnic.net.cn","No entries found"),
      array("tc","whois.adamsnames.tc","is not registered"),
      array("tel.tr","whois.nic.tr","Not found in database"),
      array("th","whois.nic.uk","No entries found"),
      array("tj.cn","whois.cnnic.net.cn","No entries found"),
      array("tm","whois.nic.tm","No match for"),
      array("tn","whois.ripe.net","No entries found"),
      array("tmp.br","whois.nic.br","No match"),
      array("to","whois.tonic.to","No match"),
      array("tr","whois.ripe.net","Not found in database"),
      array("trd.br","whois.nic.br","No match"),
      array("tur.br","whois.nic.br","No match"),
      array("tv","whois.nic.tv","MAXCHARS:75"),
      array("tv.br","whois.nic.br","No match"),
      array("tw","whois.twnic.net","NO MATCH TIP"),
      array("tw.cn","whois.cnnic.net.cn","No entries found"),
      array("ua","whois.com.ua","No entries found"),
      array("com.ua","whois.com.ua","No entries found"),
      array("org.ua","whois.com.ua","No entries found"),
      array("net.ua","whois.com.ua","No entries found"),
      array("ind.ua","whois.com.ua","No entries found"),
      array("biz.ua","whois.com.ua","No entries found"),
      array("co.ua","whois.com.ua","No entries found"),
      array("in.ua","whois.in.ua","No records found"),
      array("uk","whois.thnic.net","No match for"),
      array("uk.com","whois.nomination.net","No match for"),
      array("uk.net","whois.nomination.net","No match for"),
      array("us","whois.nic.us","Not found"),
      array("va","whois.ripe.net","No entries found"),
      array("vet.br","whois.nic.br","No match"),
      array("vg","whois.adamsnames.tc","is not registered"),
      array("wattle.id.au","whois.aunic.net","No Data Found"),
      array("web.tr","whois.nic.tr","Not found in database"),
      array("ws","whois.worldsite.ws","No match for"),
      array("xj.cn","whois.cnnic.net.cn","No entries found"),
      array("xz.cn","whois.cnnic.net.cn","No entries found"),
      array("yn.cn","whois.cnnic.net.cn","No entries found"),
      array("yu","whois.ripe.net","No entries found"),
      array("za","whois.frd.ac.za","No match for"),
      array("zlg.br","whois.nic.br","No match"),
      array("zj.cn","whois.cnnic.net.cn","No entries found")
      );
if (strpos($url, ".")===false) return "\nОшибка в данных!\n";
//if ($ds==false){
$end = substr($url, strpos($url, ".") + 1);
for($i = 0; $i < count($srv); $i++)   {  if($srv[$i][0] == $end)  {  $s= $srv[$i][1]; $nf= $srv[$i][2]; break;  }  }
if (@ip2long($url)) {$s='whois.ripe.net'; $nf = 'No entries found'; }
//}
//else { if (strpos($ds, ".")===false) return "\nОшибка в данных!\n"; $s=$ds; }
//$url=idn($url);
if(!empty($s)) {
  if ( $fp=@fsockopen($s, 43,$errno, $errstr, 5)){
      fputs($fp, "$url\r\n");
      $res = "";
      while(!feof($fp)){ $res .=fgets($fp,128)."";  }
      fclose($fp);
  } else {$res="Невозможно подключится к серверу. ({$errno}){$errstr}"; writelog("Timeout(?): ({$errno}){$errstr}".$url.'@'.$s,'apache');}
} else {$res="Нет данных по этому домену, администратор о возможной проблеме был только что уведомлен."; writelog('NODOMAIN: '.$url,'apache');}

$res="\n".$url.'@'.$s.":\n".$res;
// можете добавит логирования типа такого. Мне оно нафиг не надо. Я не использую.
//writelog('whois: '.$url.'@'.$s,$_SERVER["REMOTE_ADDR"]);
//return $res;  // возырат результата, т.е информации  домене только.
if (strpos($res,$nf)===false) $avail=false;$avail=true;
return array($res,$avail);
}

//применительно к данному случаю
if(!empty($_POST['ip'])) {
  list($data,$state)=whois($_POST['ip');
// вывод ответа. echo $data;
и результата
echo $state==true ? 'Available' : 'registred';
}
  ?>


Воть. Один из моих первых скриптов, чуть-чуть обработанный клавишей del и / от усложнений. Даже с логированием.
кстати ноги у этого скрипта от вашего, с php.su
Artur Smolkin
Сервер ответил

Код
Parse error: syntax error, unexpected ')', expecting ']' in E:\HTTPD\www\almatek\new\whois2.php on line 329
Admin
Цитата(Artur Smolkin @ 16.05.2009, 08:56) *

Сервер ответил

Код
Parse error: syntax error, unexpected ')', expecting ']' in E:\HTTPD\www\almatek\new\whois2.php on line 329


Где-то закрывающей скобки не хватило. Поставьте себе какой-нибудь текстовый редактор типа Notepad+, который умеет номеровать строки, отслеживать структуру кода и подсвечивать синтаксис, будет проще искать опечатки в коде. Хотя, это конечно человеку, который не знает язык, наверное, мало чем поможет.
Лучше попросите lazutov'а, чтобы он в виде файла прислал Вам код, который Вы смогли бы просто подключить к своему скрипту.
lazutov
whois($_POST['ip');
Вот тут ошибка.
Правильно:
whois($_POST['ip']);

example+source: http://jumping-jet.serverstat.ru:81/whois.php
кодировка koi8-r
Artur Smolkin
lazutov, огромное и человеческое Вам спасибо!

Когда-нибудь я тоже освою PHP smile.gif А может просто найму грамотного кодера...
site3k.net
Цитата(web-money.biz @ 22.07.2006, 12:47) *

Ох... Ладно... Так уж и быть... Вот Вам ГОТОВЫЙ скрипт для whois...

Просто назовите его whois.php, положите в папку public_html и запустите. Скрипт 100% рабочий... Ничего в скрипте менять не надо - полная автоматика...

Код

<?php

function whois($dir,$domain) {
   $dr = $_SERVER['DOCUMENT_ROOT']."/"; // Папка для временных файлов
   $dh = opendir($dr.$dir); // Открываем
   while (false !== ($file = readdir($dh))) {  // Читаем
       if ($file != "." && $file != "..") {
           $fullpath = $dr.$dir."/".$file; // Ищем где создать временный файл для результата
           if (!is_dir($fullpath)) {
               unlink($fullpath); // Удаляем временный файл
           }else{
               whois($dir."/".$file,null); // Если удалили - считываем нужную нам информацию
           }
       }
   }
   closedir($dh); // Закрываем используемые ресурсы
   return rmdir($dr.$dir); // Возвращаем информацию о домене
}
if (!isset($_POST['domain'])) // если первое обращение - выводим форму для хуиза
{
echo "<form action='whois.php' method=post>Домен - <input type=text name=domain maxlenght=40 size=16><br><input type=button value='Проверить домен!'></form>";
}
else echo whois(null,$_POST['domain']); // Выводим результаты хуиз

?>



Зачем же человеку подсовывать скрипт удаления всего содержимого сайта, да еще и некорректно работающий?
вместо <input type=button value='Проверить домен!'>, нужно писать <input type=submit value='Проверить домен!'>, да и проверку/коррекцию прав доступа нужно бы вставить...
smile.gif

вот самый правильный вариант:

<?php
function check(&$item, $key) {
if (is_array($item)){
array_walk($item, 'check');// пока не доберемся до строки
}else{
$item=str_replace("\`",'`',$item);// заслешенный оператор выполнения (символ 96) заменить кодом
if (get_magic_quotes_gpc()) {
$item=stripslashes($item); // расслешить строку (теперь-то она безопасна)
}
$item=urldecode($item); // раскодтрование из 16-ти ричного вида, если переменная закодирована (актуально для GET-запросов)
$item=str_replace("`",'`',$item); //Заменить оператор выполнения (символ 96) кодом
$item=str_replace("'",''',$item); //Заменить кавычку кодом
$item=str_replace('"','"',$item); //Заменить кавычку кодом
$item=str_replace("<",'<',$item); //Заменить левую угловую скобку (символ 60) кодом
$item=str_replace(">",'>',$item); //Заменить правую угловую скобку (символ 62) кодом
$item=trim($item); // обрезание начальных и конечных пробелов (полезно, если ввод должен сравниваться с чем-то)
}
}
array_walk($_GET, 'check');
?>

<html>
<head>
<title>Whois</title>
<META http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT">
<META http-equiv="Cache-Control" content="no-cache, must-revalidate">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Last-Modified" content="Tue, 19 Feb 2108 08:15:11">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form>
Введите url: <input size="30" type="text" name="url" value='<?=@$_GET['url']; ?>'>
<input type="submit" value=найти>
</form>

<?php
if(@$_GET['url']){

$url = $_GET['url'];
$whois = `whois $url`;

if(strpos($whois, 'No entries found') === false){
echo "<h2>Информация о $url</h2>";
echo "<pre>";
echo $whois;
echo "</pre>";
}else{
echo 'Домен свободен';
}

}
?>


</body>
</html>
Artur Smolkin
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in E:\*\whois.php on line 13
lazutov
В таком случае кавычка должна быть экранирована
str_replace("'",'\'',$item); или
str_replace("'","'",$item); // гыгыгы заменить символ сам на себя
вообще смысла всех этих конструкций я не понимаю.
whois через шел это опасно и для этого придумали множество функций escape.

function check << зачем оно, если фильтровать надо один параметр?
с registerGlobals все наигрались и отключили.
xaker1
Очень простой whois сервис, не требует списка dns серверов, работает только на Linux, в php с включенной функцией exec.

Код
<?php
if (isset($_GET['domain'])) // если мы ввели не домен, то удаляем http://www.
    {
    $_GET['domain']=str_replace("http://www.","",$_GET['domain']);
    $_GET['domain']=str_replace("https://www.","",$_GET['domain']);
    }
// вывод формы
echo '<form name="domaincheck" action="whois.php" method="get">';
echo '<input type="text" name="domain" size="50" value="';
if (isset($_GET['domain']))
    echo $_GET['domain'];
echo '">
<input type="submit" value="Check">
</form><br /><br />';
// exec() включена?
if (!function_exists("exec")) {
    echo "ERROR: exec() недоступна!";
}
else
{
if (!isset($_GET['domain'])) {
        echo "ERROR: домен не задан";
    }
    else {
      if (!eregi("^[a-z0-9.-]*$",$_GET['domain'])) { // простая проверка домена: только буквы, цифры и символы ".", "-"
        echo "ERROR: неверно задан домен!";
      }
      else {
        exec("whois ".$_GET['domain'],$output,$return_var); // запускаем комманду whois
        foreach ($output as $line) // выводим каждую строку
            if (!eregi("^\[.*\]$",$line)) // исключаем строки на подобие "[Redirecting hostname]"
                 echo $line."<br />";
      }
    }
}
?>
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.