Ver Mensaje Individual
  #11 (permalink)  
Antiguo 03/02/2006, 06:37
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por carlosfocus
Banear IP

Primero creamos la tabla SQL:


Código PHP:
CREATE TABLE baneadas (
id int auto_increment NOT NULL,
ip char(20NOT NULL,
PRIMARY KEY (id)
); 

Luego creamos el archivo administrar.php:
Código PHP:
<html>
<?
$clave
="admin";

if (
$pass==$clave) {
echo 
"
<head><script language=\"JavaScript\">
function confirmaBorra(ip) {
if (confirm(\"Estás seguro?\")) { document.location=\""
$PHP_SELF ."?ipBorrada=\"+ip+\"&accion=borra&pass=$clave\"; }
}
</script>"
;
?></head>
<body>
<?
include "config.php";
if ((
$accion=="banea") && ($ipBaneada)) {
mysql_query("INSERT INTO baneadas VALUES ('','$ipBaneada')");
echo 
"Ip baneada:<b>$ipBaneada</b>";
}
elseif ((
$accion=="borra") && ($ipBorrada)) {
mysql_query("DELETE FROM baneadas WHERE ip='$ipBorrada'");
echo 
"Ip borrada: $ipBorrada";
}
echo 
"<table style=\"width:100%;font-size:12;font-family:tahoma\" border=1 cellspacing=0 cellpadding=0><tbody>";
$query=mysql_query("SELECT ip FROM baneadas");
while (
$r=mysql_fetch_row($query)) {
echo 
"<tr><td width=\"50%\">$r[0]</td>
<td><a href=# onClick=\"confirmaBorra('$r[0]');\">[Borrar]</a></td>
</tr>"
;
}
echo 
"<tr><td colspan=2>
<form action=\""
$PHP_SELF ."\" method=post>
Ip a banear: <input type=text name=ipBaneada><br>
<input type=submit value=\"Prohibir su entrada!\">
<input type=hidden value=\"$pass\" name=pass>
<input type=hidden value=\"banea\" name=accion>

</form>"
;
} else {
echo 
"<form method=post action=\""$PHP_SELF ."\">
Password: <input type=password name=pass><br>
<input type=submit value=\"Entrar\"></form>"
; }
?></body></html>

Y para terminar el mete esto en el index.php:
Código PHP:
<?
GLOBAL $REMOTE_ADDR;
include 
"config.php";
$query=mysql_query("SELECT ip FROM baneadas WHERE ip='$REMOTE_ADDR'");
$r=mysql_fetch_row($query);
if (!
$r[0]) {
?>
<!## Aquí todo el código de vuestra web. TODO!
<html><body>... etc.
También puede haber <?php ... ?>
##>
<? } else {
echo 
"<html><head>
<title>ERROR.</title></head>
<body>Estas baneado en esta página, te es prohibido entrar.<br>
Por favor, abandona el sitio</body></html>"
;
}
?>
[Comentario]

Si bien la técnica puede servir .. (faltaría comentar el código .. sino realmente a quien no le funcione e incluso a quien le funcione nunca sabrá en que consiste el tema ...) el ejemplo que propones NO USA los arrays SUPERGLOBALES!!! .. Si colocamos código de ejemplo/útilidad, .. cuidemos esos aspectos mínimos ..

Te recomiendo adaptar ese código al uso de los arrays superglobales: $_GET, $_SERVER, $_POST .. etc.

Un saludo,