Cicklow
Admin
Dseda
Verificado
Verificación en dos pasos activada
Usuário popular!
Suscripción a IA
Olá, hoje vocês aprenderão como criar nosso próprio script para receber SMS pela web, isso nos permitirá ter nossos próprios números para verificar contas do Google, Facebook e outras mais, ou por exemplo vender números no fiverr (montando bem nosso sistema)!
Para este tutorial usaremos NEXMO (uma empresa que já utilizamos antes em nosso tutorial de como enviar SMS), nos registraremos na empresa e compraremos nosso primeiro número (pagaremos com paypal).
Passo 1 - Comprar e Configurar nosso número
Iremos a: https://dashboard.nexmo.com/private/numbers#add_number e colocaremos estas opções (eu comprei um número dos EUA, vocês comprem o que mais gostarem)
Ao clicar no botão Search aparecerá uma lista de números disponíveis, clicamos em BUY no que mais gostarmos XD.
Agora configuraremos a url onde os SMS serão recebidos. Neste caso nosso callback.php
Passo 2 - Programar tudo
Criamos um arquivo chamado callback.php e colocamos este código:
Ajuda sobre receber SMS: https://docs.nexmo.com/index.php/sms-api/handle-inbound-message
Agora criaremos o arquivo db.php, encarregado de conectar-se ao nosso banco de dados
Nossa tabela mysql será:
Para isso acessamos o phpmyadmin, criamos um banco de dados (se é que não temos algum) depois vamos à aba SQL e colocamos o código anterior!
Criamos index.php, o encarregado de mostrar nossos SMS.
E ficaria desta forma:
Passo 3 - DICAS
- Para ver os SMS de um número em questão só acessamos nosso index.php colocando a variável para. exemplo:
- Se vão vender números no fiverr têm duas opções, criar uma pasta para cada usuário ou passar a url com o número que compraram (dica anterior) (terão que editar o index.php para que não mostre os SMS de todos, mas apenas o do número selecionado)
- Podem usar este script para uso próprio para verificar contas de youtube, google, etc ou o que mais gostarem
- Se decidirem montar um site sobre isso, pois terá que fazer mais modificações, eu só dou o ponto de partida.
- Os números no NEXMO são cobrados a cada 30 dias (exemplo o dos EUA sai 0,67EUROS, isso é cobrado quando se compra e a cada 30 dias de uso, estes números podem ser cancelados, exemplo no fiverr podem vender os números por 30 dias)
- NEXMO não cobra por SMS recebido, outras empresas sim! (a razão de 0,0045USD por SMS recebido)
Download:
Demo:
Demo com um número:
PS: Se vão usar vários números, usem este código no index.php
mudam:
por
PS: NEXMO mudou suas políticas e não permite este tipo de script massivos (colocá-lo para outros)... talvez para uso pessoal funcione bem, há números que não funcionam com facebook, e outras redes sociais... Tenham isso em conta...
Outro site para usar é: https://www.tropo.com/ para comprar números...
Para este tutorial usaremos NEXMO (uma empresa que já utilizamos antes em nosso tutorial de como enviar SMS), nos registraremos na empresa e compraremos nosso primeiro número (pagaremos com paypal).
Passo 1 - Comprar e Configurar nosso número
Iremos a: https://dashboard.nexmo.com/private/numbers#add_number e colocaremos estas opções (eu comprei um número dos EUA, vocês comprem o que mais gostarem)
Ao clicar no botão Search aparecerá uma lista de números disponíveis, clicamos em BUY no que mais gostarmos XD.
Agora configuraremos a url onde os SMS serão recebidos. Neste caso nosso callback.php
Passo 2 - Programar tudo
Criamos um arquivo chamado callback.php e 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
?>
Agora criaremos o arquivo db.php, encarregado de conectar-se ao nosso banco de dados
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");
}
?>
Nossa tabela mysql será:
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 ;
Criamos index.php, o encarregado de mostrar nossos 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' : '');
}
}
}
?>
Passo 3 - DICAS
- Para ver os SMS de um número em questão só acessamos nosso index.php colocando a variável para. exemplo:
Inserir CODE, HTML ou PHP:
http://test.cicklow.me/ForoBeta/recibir/?para=19853180522
- Podem usar este script para uso próprio para verificar contas de youtube, google, etc ou o que mais gostarem
- Se decidirem montar um site sobre isso, pois terá que fazer mais modificações, eu só dou o ponto de partida.
- Os números no NEXMO são cobrados a cada 30 dias (exemplo o dos EUA sai 0,67EUROS, isso é cobrado quando se compra e a cada 30 dias de uso, estes números podem ser cancelados, exemplo no fiverr podem vender os números por 30 dias)
- NEXMO não cobra por SMS recebido, outras empresas sim! (a razão de 0,0045USD por SMS recebido)
Download:
Inserir CODE, HTML ou PHP:
http://test.cicklow.me/ForoBeta/recibir/recibir.rar
Inserir CODE, HTML ou PHP:
http://test.cicklow.me/ForoBeta/recibir/
Inserir CODE, HTML ou PHP:
http://test.cicklow.me/ForoBeta/recibir/?para=19853180522
Abraços!
PS: Se vão usar vários números, usem este código no index.php
mudam:
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 } ?>
PS: NEXMO mudou suas políticas e não permite este tipo de script massivos (colocá-lo para outros)... talvez para uso pessoal funcione bem, há números que não funcionam com facebook, e outras redes sociais... Tenham isso em conta...
Outro site para usar é: https://www.tropo.com/ para comprar números...