Nueva pregunta

Pregunta:

Fecha: 26-05-2018 20:33:06 (En Español)

Verificar la disponibilidad de dominios[Resuelta]

Hola a todos. Bueno me encargaron de realizar un verificador de dominios, nunca lo había echó no se si alguno de ustedes podría darme una referencia para realizar esta tarea o talvez algúna librería, servicio que pueda utilizar.

Gracias.
Etiquetas: HTML - JQuery - MySQL Desarrollo - PHP - PHP PDO - PHPExcel Votos: 1 - Respuestas: 4 - Vistas: 21 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 27-05-2018 09:27:57 Hola, Capzzula.

    Te muestro un par de ejemplos, donde para cada uno de ellos puedes hacer la validación por IP y por DNS.

    #1 - Utilizando la función checkdnsrr
    <?php
    	$IP_or_DNS = '200.58.112.79'; #www.phpcentral.com
    
    	if (checkdnsrr($IP_or_DNS, 'A'))
    		echo "Nombre de dominio encontrado";
    	else
    		echo "Nombre de dominio NO encontrado";
    Devuelve TRUE si los registros se encuentran; devuelve FALSE si no se encuentran registros o si ocurre un error.

    #2 - Utilizando la función gethostbyname
    <?php
    	$IP_or_DNS = 'www.phpcentral.com';
    
    	if (gethostbyname($IP_or_DNS) != $IP_or_DNS)
    		echo "Nombre de dominio encontrado";
    	else
    		echo "Nombre de dominio NO encontrado";
    Devuelve la dirección IPv4 o un string que contiene el hostname sin modificar en caso de error.

    Se puede hablar más del tema, existen factores que pueden incidir sobre la resolución DNS.

    HMm, sería bueno que pusiera su nombre real, ¡Saludos, Capzzula!
      Votos: 2 - Link respuesta
     
  • Fecha: 27-05-2018 16:18:20
    <!DOCTYPE html>
    <html>
    <head>
    	<title>Buscador de Dominio</title>
    	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    	<!-- vinculo a bootstrap -->
    	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    	<!-- Temas-->
    	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
    </head>
    <body>
    	<style type="text/css">
    		#Contenedor{
    			width:50%;
    			padding: 20px;
    			height: auto;
    			margin: 50px auto;
    		}
    		.clarin{
    			width:84%; 
    		}
    	</style>
    	<div id="Contenedor">
    		<div id="loader" align="center" style="margin-bottom: 6px;"></div>
    		<div class="row">
    			<form style="margin-bottom:20px; ">
    				<div class="btn-group">
    					<div class="input-group input-group-lg clarin" >
    
    						<div class="input-group-addon" ><i class="glyphicon glyphicon-globe"></i></div>
    						<input type="text" class="form-control" id="Nomb" name="Nomb" placeholder="google" style="border-right: none;">
    						<span class="input-group-btn">
    							<select class="form-control" id="Ext" name="Ext" style="height:46px; border-left: none; 
    							border-top-left-radius:0px;  
    							border-bottom-left-radius: 0px; font-size: 17px;">
    								<option>.com</option>
    								<option>.net</option>
    								<option>.bo</option>
    								<option>.mx</option>
    								<option>.pe</option>
    								<option>.co</option>
    							</select>
    							<button class="btn btn-success" id="Enviar" type="button"><i class="glyphicon glyphicon-search"></i> Buscar</button>
    						</span>
    					
    
    					</div><!-- /input-group -->
    				</div>
    			</form>
    			<!--Aqui es donde se muestra la disponibilidad de Dominios-->
    			<div id="Mostrar">
    				
    			</div>
    		</div>
    	</div>
    
    <!-- vinculando a libreria Jquery-->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    		<!-- Libreria java scritp de bootstrap -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    
    <script type="text/javascript">
    
    var Incremento=0;
    
    $("#Enviar").click(function(event) {
    
    	Incremento++;
    	//Validando
    	if($("#Nomb").val()==""){
    		$("#loader").html("<strong style='color:red;'>Error escriba el nombe del Dominio</strong>");
    	}else{
    		$("#loader").html("<img src='indicator.gif'>");
    		$.ajax({
    			url: 'buscador.php',
    			type: 'POST',
    			dataType: 'text',
    			data: {Nomb: $("#Nomb").val(),"Ext":$("#Ext").val(),"Incremento":Incremento},
    		})
    		.done(function(data) {
    			$("#loader").html("");
    			$("#Mostrar").append(data);
    		})
    		.fail(function() {
    			console.log("error");
    		})
    		.always(function() {
    			console.log("complete");
    		});
    	}
    });
    </script>
    </body>
    </html>
    


    <?php 
    function Whois($whois='',$dominio){
    
    	$stringDatoWois="";
    	$Mostrar       =array();
    	$sock          = fsockopen($whois, 43);
    
      if(!$sock){
        $Mostrar[0]=false;
      }else{
        $Mostrar[0]=true;
        fwrite($sock, $dominio."\r\n");
        while(!feof($sock) ){
          $stringDatoWois .= fgetss($sock,128);
        }
        fclose($sock);
        $Mostrar[1]=$stringDatoWois;     
      } 
      return $Mostrar;	       
    }
    $WoisNombre = array(
      '.com'   =>array('whois.crsnic.net','No match for'),//.com
      '.net'   =>array('whois.crsnic.net','No match for'),// .net
      '.bo'    =>array('whois.nic.bo','whois.nic.bo solo acepta consultas con dominios .bo'),//.bo
      '.mx'    =>array('whois.nic.mx','No_Se_Encontro_El_Objeto'),//.mx
      '.pe'    =>array('whois.nic.pe','No Object Found'),//.pe
      '.co'    =>array('whois.nic.co','Not found') //.co
    );
    
    $NombreDominio    =empty($_POST['Nomb']) ? false :  $_POST['Nomb'];
    $ExtesionDominio  =empty($_POST['Ext'])  ? false :  $_POST['Ext'];
    $incremento       =empty($_POST['Incremento']) ? 0 :  $_POST['Incremento'];
    if(strlen($NombreDominio)>0){
    	$stringParser="";
      $NombreDominio   = preg_replace(array(
        '/www./','/http:\//','/\//','/.com/',
        '/.bo/','/.com.bo/','/edu.bo/',
        '/.org.bo/','/.net/','/.mx/',
        '/.pe/','/.co/'), '', $NombreDominio);
       	foreach ($WoisNombre as $key => $value) {
       		if($key==$ExtesionDominio){
            if (Whois($value[0],$NombreDominio.$ExtesionDominio)[0]==true){
              $DatoSWois= Whois($value[0],$NombreDominio.$ExtesionDominio)[1];
              $Disponible='<div class="alert alert-success alert-dismissible" style="margin-top:5px;" role="alert">
                <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button><span>El dominio <strong>'.$NombreDominio.$ExtesionDominio.'</strong> esta <strong>disponible.</strong> para la realizacion de compra. </span><button class="btn btn-success" id="Enviar" type="button"><i class="glyphicon glyphicon-shopping-cart"></i> Comprar</button></div>';
              $NoDisponible='<div class="alert alert-danger alert-dismissible" role="alert" style="margin-top:5px;"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button><span>El dominio <strong>'.$NombreDominio.$ExtesionDominio.'</strong> esta <strong>no esta disponible.</strong></span><a class="btn btn-linnk" role="button" data-toggle="collapse" href="#collapseExample'.$incremento .'" aria-expanded="false" aria-controls="collapseExample'.$incremento .'"> Ver el autor registrante</a><div class="collapsing" id="collapseExample'.$incremento .'"><div class="well"><pre>'.Whois($value[0],$NombreDominio.$ExtesionDominio)[1].'</pre></div></div></div>';
              //Quitamos algunos caracteres
              //del servidor WHOIS Boliviano
              if($key==".bo"){
                $DatoSWois=str_replace(array("\r\n", "\n", "\r"), '', $DatoSWois);
                if($DatoSWois==$value[1]){
                  echo $Disponible;
                }else{
                  echo $NoDisponible; 
                }
              }else{
                //Buscamos 
                if (preg_match("/".$value[1]."/i",$DatoSWois)){
                  echo $Disponible ;
                }else{
                  echo $NoDisponible; 
                }
              }
            }else{
            }
       		}
       	} 	  
     }
     ?>
    


    el código es de Rodrigo Chambi, solo le hice unas correcciones
      Votos: 2 - Link respuesta
     
  • Fecha: 27-05-2018 18:41:49 Jerson, Luis, Mucha gracias a los dos.   Votos: 1 - Link respuesta
     
  • Fecha: 20-11-2018 12:03:16 Hola, estoy buscando implementar un buscador de disponibilidad de dominios, pero no logro hacer que funcione la busqueda con .com.mx y .mx, al parecer no me esta funcionando el servidor whois.nic.mx, alguien podrá ayudarme por favor? (estoy usando el mismo codigo de Rodrigo Chambi)   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com