App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando
--- PHP y MySQL en App Inventor 2 --
Volver al índice del tutorial de PHP y MySQL
____________________________
324B.- Añadir texto al principio de un archivo mediante PHP. Banear IP.
- Inicio.
- Vamos a mejorar el código del tutorial anterior referente al envío de mensajes.
______________________
- Banear IP.
- Puede ocurrir que a nuestro que nuestro foro sea atacado por un bot y lo llene de SPAM. Hay sitios, especialmente en Rusia y Ucrania que son atacantes a foros.
- Para evitarlo pondremos en nuestro código los dos primeros números de la IP atacante, de tal manera que si alguien intenta entrar en nuestro foro y tiene los dos primeros números de su IP coincidente con los que hemos puesto en el código, no podrá crear mensaje, simplemente entrará pero no escribirá nada.
$ip=$_SERVER['REMOTE_ADDR'];
$pete1 = '31.184'; // Estas son IP rusas de S. Petersburgo.
$pete2 = '188.143';
$pos1 = strpos($ip, $pete1); // Será true Si $pete1 está contenido en $ip
$pos2 = strpos($ip, $pete2);
if ($pos1 === false && $pos2 === false) {
- En el código anterior, ponemos los dos primeros números de la IP de dos sitios rusos que se dedican a enviar bot.
- Consultamos si la IP que ha entrado $ip contiene 31.184 o 188.143, en caso que no contenga una ni otra, se realizará la copia del mensaje, en caso contrario no hará nada.
- El usuario escribe un texto en el casillero y su correo. Envía esa información al archivo recibir.php
- Para escribir algo pulsa aquí: http://kio4.esy.es/enviar2.htm
Se enviará el mensaje, la hora, la IP del usuario.
- Para ver todo lo que se ha escrito pulsa aquí: http://kio4.esy.es/ver2.htm
________________________
- Añadir el texto al principo del archivo.
- Con este código conseguimos que los mensajes que vayan llegando se situen al principio de la página.
$archi = 'ver2.htm';
$total = $todo.file_get_contents($archi);
//file_put_contents($archi, $total) ;
$auxi = fopen($archi, 'w');
fwrite($auxi, $total);
fclose($auxi);
________________________
- Código.
enviar2.htm
|
<HTML><HEAD><TITLE> KIO4.COM </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD><BODY>
<form action="recibir2.php" method="post">
Mensaje: <br><textarea name="mensaje" cols="20" rows="4">Hola</textarea><br>
Correo: <br><input type="text" value="yo@yahoo.com" name="correo" size="30"><br><br>
<input type="submit" name="submit" value="Enviar">
</form>
</BODY></HTML>
|
recibir2.php
|
<HTML><HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD><BODY>
<?php
$ip=$_SERVER['REMOTE_ADDR'];
$pete1 = '31.184'; // Estas son IP rusas de S. Petersburgo.
$pete2 = '188.143';
$pos1 = strpos($ip, $pete1);
$pos2 = strpos($ip, $pete2);
if ($pos1 === false && $pos2 === false) {
// Si no son ninguna de las IP rusas, guarda el mensaje. date_default_timezone_set('Europe/Madrid');
setlocale(LC_ALL,'es_ES');
$dia=strftime("%A, %d de %B de %Y",time());
$hora=strftime(" - %H:%M.%S",time());
$datos=$_POST;
$todo="<b>Fecha: </b>".$dia. " ".$hora."<br>";
$todo=$todo."<b>Mensaje: </b>".$datos['mensaje']."<br><b>Correo: </b>".$datos['correo']."<br>";
echo "<h1><center>Mensaje recibido.</center></h1><br>";
$todo=$todo."<b>IP: </b>".$ip."<hr>";
$archi = 'ver2.htm';
$total = $todo.file_get_contents($archi);
//file_put_contents($archi, $total) ;
$auxi = fopen($archi, 'w');
fwrite($auxi, $total);
fclose($auxi);
// $auxi = fopen($archi, 'a');
// fwrite($auxi, $todo);
// fclose($auxi);
}
else {
// Si son las IP rusas no hace nada
echo "";
}
?>
</BODY></HTML>
|
__________________________________
__________________________________
|