Cicklow
Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Usuario popular!
Suscripción a IA
		Hola, hoy aprenderán como crear nuestro propio script para recibir SMS desde la web, esto nos permitirá tener nuestros propios números para verificar cuentas de Google, Facebook, y otras mas, o por ejemplo vender números en fiverr (armando bien nuestro sistema)!
Para este tutorial usaremos NEXMO (una empresa que ya hemos utilizado antes en nuestro tutorial de como enviar SMS), nos registraremos en la empresa y compraremos nuestro primer numero (pagaremos con paypal).
Paso 1 - Comprar y Configurar nuestro numero
Iremos a: https://dashboard.nexmo.com/private/numbers#add_number y colocaremos estas opciones (yo compre un numero de USA ustedes compren el que mas le guste)
		
		
	
	
		
	
Al darle al botón Search aparecerá un listado de números disponibles, le damos BUY al que mas nos guste XD.
Ahora configuraremos la url donde los SMS serán recibidos. En este caso nuestro callback.php
		
	
Paso 2 - Programar todo
Creamos un archivo llamado callback.php y colocamos este código:
	
	
	
		
Ayuda sobre recibir SMS: https://docs.nexmo.com/index.php/sms-api/handle-inbound-message
Ahora crearemos el archivo db.php, encargado de conectarse a nuestra base de datos
	
	
	
		
Nuestra tabla mysql sera:
	
	
	
		
Para esto accedemos al phpmyadmin, creamos una base de datos (si es que no tenemos alguna) luego vamos a la pestaña SQL y colocamos el código anterior!
Creamos index.php, el encargado de mostrar nuestros SMS.
	
	
	
		
Y quedaría de esta forma:
		
	
Paso 3 - TIPS
- Para ver los SMS de un numero en cuestion solo accedemos a nuestro index.php colocando la variable para. ejemplo:
	
		
- Si van a vender números en fiverr tienen dos opciones, crear una carpeta para cada usuario o pasarle la url con el numero que compraron (tip anterior) (tendran que editar el index.php para que no muestre los SMS de todos, sino solo el del numero seleccionado)
- Pueden usar este script para uso propio para verificar cuentas de youtube, google, etc o lo que mas le guste
- Si deciden armar un sitio sobre esto, pues abra que hacerles mas modificaciones, yo solo les doy el punto de partida.
- Los números en NEXMO son cobrados cada 30 dias (ejemplo el de usa sale 0,67EUROS, eso se cobra cuando se compra y cada 30 días de uso, estos números se pueden cancelar, ejemplo en fiverr pueden vender los números por 30 días)
- NEXMO no cobra por SMS recibido, otras empresas si! (a razón de 0,0045USD por SMS recibido)
Descarga:
	
		
Demo: 
	
	
	
		
Demo con un numero: 
	
	
	
		
PD: Si van a usar varios numeros, usen este codigo en index.php
cambian:
	
	
	
		
por
	
	
	
		
PD: NEXMO ha cambiado sus politicas y no permite este tipo de script masivos (colocarlo para otros)... por ahi para uso personal funciona bien, hay numeros que no funcionan con facebook, y otras redes sociales... Tengan en cuenta eso...
Otro sitio para usar es: https://www.tropo.com/ para comprar numeros...
	
		
			
		
		
	
				
			Para este tutorial usaremos NEXMO (una empresa que ya hemos utilizado antes en nuestro tutorial de como enviar SMS), nos registraremos en la empresa y compraremos nuestro primer numero (pagaremos con paypal).
Paso 1 - Comprar y Configurar nuestro numero
Iremos a: https://dashboard.nexmo.com/private/numbers#add_number y colocaremos estas opciones (yo compre un numero de USA ustedes compren el que mas le guste)
	Al darle al botón Search aparecerá un listado de números disponibles, le damos BUY al que mas nos guste XD.
Ahora configuraremos la url donde los SMS serán recibidos. En este caso nuestro callback.php
	Paso 2 - Programar todo
Creamos un archivo llamado callback.php y colocamos este código:
		PHP:
	
	<?php
	$data = $_GET; //Obtenemos los datos del SMS
	if(!isset($data['text'], $data['to'])) die("0"); //si alguno de los necesarios esta vacio cerramos el PHP
	include('db.php'); //agregamos el archivo encargado de conectarse a la base de datos
	$mysqli->query("INSERT INTO sms_entrar VALUES('','".strip_tags($data['to'])."','".strip_tags($data['msisdn'])."','".time()."','".strip_tags($data['text'])."');"); //guardamos el SMS
	die("1"); //finalizamos el PHP
?>
	Ahora crearemos el archivo db.php, encargado de conectarse a nuestra base de datos
		PHP:
	
	<?
	
	$dbhost = "localhost";
	$dbuser = "USUARIO";
	$dbpass = "PASS";
	$db = "BASE_DATOS";
	$mysqli = new mysqli("$dbhost","$dbuser","$dbpass","$db");
	if ($mysqli->connect_errno) {
		die("Failed to establish a connection with the database");
	}
?>
	Nuestra tabla mysql sera:
		HTML:
	
	CREATE TABLE IF NOT EXISTS `sms_entrar` (
  `id` double NOT NULL AUTO_INCREMENT,
  `smsto` varchar(35) NOT NULL,
  `smsfrom` varchar(35) NOT NULL,
  `time` int(11) NOT NULL,
  `msg` varchar(200) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
	Creamos index.php, el encargado de mostrar nuestros SMS.
		PHP:
	
	<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Recibir SMS</title>
    <!-- Bootstrap -->
    <link rel="stylesheet" href="http://getbootstrap.com/dist/css/bootstrap.min.css" />
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
<div class="container">
	<h1>SMS Recibidos!</h1>
	<table class="table table-striped">
		<thead>
			<tr><td>ID</td><td>Desde</td><td>Para</td><td>Fecha</td><td>Mensaje</td></tr>
		</thead>
		<tbody>
		<?php
			include('db.php'); //cargamos nuestro archivo encargado de conectar la bd
			//Vemos si mostramos los SMS de un numero en concreto o todos
			if($_GET['para']!="") $para = 'smsto=\''.strip_tags($_GET['para']).'\''; else $para = "1";
			//Obtenemos los SMS
			$sms = $mysqli->query("SELECT * FROM sms_entrar WHERE ".$para." ORDER BY id DESC LIMIT 0,100");
			//Recorremos la variable $sms y mostramos los SMS
			while ($ROW = $sms->fetch_assoc()) {
				echo '<tr><td>'.$ROW['id'].'</td><td>'.$ROW['smsfrom'].'</td><td>'.$ROW['smsto'].'</td><td>'.calculart($ROW['time']).'</td><td style="word-wrap: break-word;">'.wordwrap($ROW['msg'], 100, "<br />\n", true).'</td></tr>';
			}
		?>
		</tbody>
	</table>
</div>
  </body>
</html>
<?php
	//funcion encargada de calcular el tiempo de cada sms
	function calculart($ptime) {
		$etime = time() - $ptime;
		if ($etime < 1) {
			return '0 seconds';
		}
    
		$a = array( 12 * 30 * 24 * 60 * 60  =>  'año',
                	30 * 24 * 60 * 60       =>  'mes',
                	24 * 60 * 60            =>  'dia',
                	60 * 60                 =>  'hora',
                	60                      =>  'minuto',
                	1                       =>  'segundo'
		);
    
		foreach ($a as $secs => $str) {
			$d = $etime / $secs;
			if ($d >= 1) {
				$r = round($d);
				return 'hace '.$r . ' ' . $str . ($r > 1 ? 's' : '');
			}
		}
	}
?>
	
	Paso 3 - TIPS
- Para ver los SMS de un numero en cuestion solo accedemos a nuestro index.php colocando la variable para. ejemplo:
		Insertar CODE, HTML o PHP:
	
	http://test.cicklow.me/ForoBeta/recibir/?para=19853180522
	- Pueden usar este script para uso propio para verificar cuentas de youtube, google, etc o lo que mas le guste
- Si deciden armar un sitio sobre esto, pues abra que hacerles mas modificaciones, yo solo les doy el punto de partida.
- Los números en NEXMO son cobrados cada 30 dias (ejemplo el de usa sale 0,67EUROS, eso se cobra cuando se compra y cada 30 días de uso, estos números se pueden cancelar, ejemplo en fiverr pueden vender los números por 30 días)
- NEXMO no cobra por SMS recibido, otras empresas si! (a razón de 0,0045USD por SMS recibido)
Descarga:
		Insertar CODE, HTML o PHP:
	
	http://test.cicklow.me/ForoBeta/recibir/recibir.rar
	
		Insertar CODE, HTML o PHP:
	
	http://test.cicklow.me/ForoBeta/recibir/
	
		Insertar CODE, HTML o PHP:
	
	http://test.cicklow.me/ForoBeta/recibir/?para=19853180522
	Saludos!
PD: Si van a usar varios numeros, usen este codigo en index.php
cambian:
		PHP:
	
	<div class="container">
    <h1>SMS Recibidos!</h1>
    <table class="table table-striped">
        <thead>
            <tr><td>ID</td><td>Desde</td><td>Para</td><td>Fecha</td><td>Mensaje</td></tr>
        </thead>
        <tbody>
        <?php
            include('db.php'); //cargamos nuestro archivo encargado de conectar la bd
            //Vemos si mostramos los SMS de un numero en concreto o todos
            if($_GET['para']!="") $para = 'smsto=\''.strip_tags($_GET['para']).'\''; else $para = "1";
            //Obtenemos los SMS
            $sms = $mysqli->query("SELECT * FROM sms_entrar WHERE ".$para." ORDER BY id DESC LIMIT 0,100");
            //Recorremos la variable $sms y mostramos los SMS
            while ($ROW = $sms->fetch_assoc()) {
                echo '<tr><td>'.$ROW['id'].'</td><td>'.$ROW['smsfrom'].'</td><td>'.$ROW['smsto'].'</td><td>'.calculart($ROW['time']).'</td><td style="word-wrap: break-word;">'.wordwrap($ROW['msg'], 100, "<br />\n", true).'</td></tr>';
            }
        ?>
        </tbody>
    </table>
</div>
	por
		PHP:
	
	<?php if($_GET[para]==""){ ?>
<div class="container">
    <h1>Numeros!</h1>
    <table class="table table-striped">
        <thead>
            <tr><td>Numero</td><td>Accion</td></tr>
        </thead>
        <tbody>
        <?php
		include('db.php'); //cargamos nuestro archivo encargado de conectar la bd
		$sms = $mysqli->query("SELECT DISTINCT smsto FROM sms_entrar WHERE 1 ORDER BY smsto");
		//Recorremos la variable $sms y mostramos los SMS
            	while ($ROW = $sms->fetch_assoc()) {
                	echo '<tr><td>'.$ROW['smsto'].'</td><td><a href="?para='.$ROW['smsto'].'">Ver SMS</a></td></tr>';
            	}
        ?>
        </tbody>
    </table>
</div>
<?php }else{ ?>
<div class="container">
    <h1>SMS Recibidos!</h1>
    <table class="table table-striped">
        <thead>
            <tr><td>ID</td><td>Desde</td><td>Para</td><td>Fecha</td><td>Mensaje</td></tr>
        </thead>
        <tbody>
        <?php
            include('db.php'); //cargamos nuestro archivo encargado de conectar la bd
            //Vemos si mostramos los SMS de un numero en concreto o todos
            if($_GET['para']!="") $para = 'smsto=\''.strip_tags($_GET['para']).'\''; else $para = "1";
            //Obtenemos los SMS
            $sms = $mysqli->query("SELECT * FROM sms_entrar WHERE ".$para." ORDER BY id DESC LIMIT 0,100");
            //Recorremos la variable $sms y mostramos los SMS
            while ($ROW = $sms->fetch_assoc()) {
                echo '<tr><td>'.$ROW['id'].'</td><td>'.$ROW['smsfrom'].'</td><td>'.$ROW['smsto'].'</td><td>'.calculart($ROW['time']).'</td><td style="word-wrap: break-word;">'.wordwrap($ROW['msg'], 100, "<br />\n", true).'</td></tr>';
            }
        ?>
        </tbody>
    </table>
</div>
<?php } ?>
	PD: NEXMO ha cambiado sus politicas y no permite este tipo de script masivos (colocarlo para otros)... por ahi para uso personal funciona bien, hay numeros que no funcionan con facebook, y otras redes sociales... Tengan en cuenta eso...
Otro sitio para usar es: https://www.tropo.com/ para comprar numeros...