[PHP] Kontrola zda server je hostován u FH [1.0.0]

Pokec o čemkoliv ostatním
Message
Autor
Uživatelský avatar
Qefik
Příspěvky: 5714
Registrován: 26 pro 2009, 11:26
Reputation: 0
Kontaktovat uživatele:

[PHP] Kontrola zda server je hostován u FH [1.0.0]

#1 Příspěvekod Qefik » 01 dub 2013, 14:35

Zdravím,

začalo mě štvát neustálé kontrolování zda server patří pod FH nebo ne a vyžadování IP serveru namísto doménového tvaru. Tak jsem si jako naprostý začátečník sedl k netu a vytvořil jednoduchý Checker přes PHP. Upozorňuji že není validní a nejspíše nikdy nebude, leč funkční je.
Odkaz: http://qefik.fakaheda.eu/check/

Co to umí?
  • Po zadání IP a portu serveru ve tvaru IP:PORT vám vyplivne, zda je server hostován u FH či nikoliv + status serveru
  • Při zadání ve tvaru neco.cokoliv.tdl:PORT převede do tvaru IP:PORT a následně překontroluje zda je server hostován u FH
  • Přepisuje vstupy na hodnoty bez http:// a bez www.

Přikládám zdrojový kód, který obsahuje zakomentované výpisy a různé pokusy které mi nešly. Kdyby někdo věděl nějaké lepší řešení (i já znám lepší řešení, leč nepodařilo se mě vsoukat se do syntaxe php).


Spoiler: zobrazit

Kód: Vybrat vše

<?php
$ipvstup=$_GET[ip];
$ipport = str_replace("http://","",$ipvstup);
$ipport = str_replace("www.","",$ipport);
$vyber = file_get_contents('http://query.fakaheda.eu/'.$ipport);
$retezec = "";

//echo 'http://query.fakaheda.eu/'.$ip;
//echo "<br>";
echo $ipport."<br>";
//echo $vyber;
echo "<br>";
echo "<b>";
if ($vyber == "Server na teto adrese neni provozovan u hostingu FakaHeda")
   { 
      echo "<font color='red'>";
      echo "Server neni hostovan u FH";
    }
else if ($vyber == "")
  {
 
      $pole = str_split($ipport);
      //print_r  ($pole);
     
      for ($i = 0; $i <count ($pole); $i++)
      {
        if ($pole[$i]==":")
          break;
        else
        {     
          //echo $pole[$i];
          $retezec = $retezec.$pole[$i];
             
          }
      }
      //echo $retezec;
     
     
 
      $result = dns_get_record($retezec, DNS_A);
      //print_r ($result[0][ip]);
      $novaip = $result[0][ip];
      if ($novaip == "")
      echo "Nejedna se o domenu nebo platnou IP";
      else
      {
     
      //echo "<br>";
      //echo $novaip;
      //echo "<br>";
      //echo str_replace($retezec,$novaip,$ipport);
      $spravnaip = str_replace($retezec,$novaip,$ipport);
      echo "Ciselna IP je ".$spravnaip."<br>";
      $vyber2 = file_get_contents('http://query.fakaheda.eu/'.$spravnaip);
     
      if ($vyber2 == "Server na teto adrese neni provozovan u hostingu FakaHeda")
        { 
      echo "<font color='red'>";
      echo "Server neni hostovan u FH";
        }
      else if ($vyber2 == "")
      echo "Nedokazu rozpoznat kombinaci IP:PORT...";
     
      else
        {
      echo "<font color='green'>";
      echo "Server je hostovan u FH <br>";
      echo "<img src=http://query.fakaheda.eu/".$spravnaip.">";
        }
        }
     
     
      //echo "Spatny tvar IP:PORT";
  }
else
    {
      echo "<font color='green'>";
      echo "Server je hostovan u FH (vystup bez prepisu domenz na IP) <br>";
      echo "<img src=http://query.fakaheda.eu/".$ipport.">";
    }
/*public function DoPole()
  {
   $pole = str_split($ip);
   for ($i = 1; $pole [$i] == ":"; $i++)
   {
    echo $i "<br>";
    echo $pole [$i];
    }
  }*/
?>



Pokud někdo najde chybu, prosím napište sem, zkusím to spravit ;)
Rozdávat rady je zbytečné. Moudrý si poradí sám a hlupák stejně neposlechne.
Mark Twain

Uživatelský avatar
Qefik
Příspěvky: 5714
Registrován: 26 pro 2009, 11:26
Reputation: 0
Kontaktovat uživatele:

Re: [PHP] Kontrola zda server je hostován u FH [1.0.0]

#2 Příspěvekod Qefik » 01 dub 2013, 14:37

Rezervní post

Changelog:
  • 1.4.2013 - 1.0.0 - první verze
Rozdávat rady je zbytečné. Moudrý si poradí sám a hlupák stejně neposlechne.
Mark Twain


Zpět na „Off topic“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 10 hostů