Foros del Web » Programando para Internet » PHP »

Banear IPs

Estas en el tema de Banear IPs en el foro de PHP en Foros del Web. Queria saber si el metodo que uso es malo o lento: Lo que hice fue agregar a todas mis páginas un include con una consulta ...
  #1 (permalink)  
Antiguo 29/07/2009, 12:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 14 años, 10 meses
Puntos: 0
Banear IPs

Queria saber si el metodo que uso es malo o lento:
Lo que hice fue agregar a todas mis páginas un include con una consulta a una tabla de ips_baneados. La consulta está optimizada, por lo que solo le toca leer una fila.

Sera que hay otra forma, por ej diciendole al servidor "a tales ips redireccionalos a ban.php, o a 404 error"??

En el panel de control de mi host encontré un lugar donde se pueden agregar ips manualmente, si pudiera hacer que mi script le mande esos ips automáticamente seria ideal.

Alguna idea?
  #2 (permalink)  
Antiguo 29/07/2009, 13:12
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Banear IPs

Hola , mira te presento una solución a simple vista rapida para lo que decis:
Código php:
Ver original
  1. <?php
  2. $link=mysql_connect('localhost','username','password');
  3.  
  4. if($link){
  5.  
  6. mysql_select_db($db,$link);
  7.  
  8. }else{
  9. die('Error conectando a la db');
  10. }
  11.  
  12. $ip=$_SERVER['REMOTE_ADDR'];
  13. $sql="SELECT ip FROM tabla_ip WHERE ip='{$ip}'";
  14. $sql=mysql_query($sql,$link);
  15.  
  16. if($sql){
  17. if(mysql_num_rows($sql)>0){
  18. die('Tu ip esta baneada'); //-- tambien puede ser una redicción con php es decir con header
  19. }
  20. }else{
  21. die('Error en consulta sql');
  22. }
  23.  
  24. ?>

Este fichero debe ir incluido en todos los php que tengas para securizar toda la web :)

Por otro lado el metodo que tu mencionas me di cuenta que es lo mismo que yo te escribi jajaja , realmente no existe metodo bueno o malo pero pensa que si la web va a tener alto transito vas a tener consultas permantes a la tabla ips , por ende una cierta congestión o cuello de botella en toda tu web , ya que si este archivo falla , es muy factible que tu web no te ande.

Por otro lado el metodo que decis del panel es con htaccess , en teoria es mas veloz que php pero es mas incomodo para administrar por lo cual a mi gusto no es util , y tambien llega un cierto punto en donde el fichero .htaccess tiene cierto peso , que relentiza el sistema ya que ante cada petición get o post , el servidor primero procesa ese fichero , es decir el htacess.

Son ambos metodos viables en webs chicas , en webs muy grandes y que posees acceso a tu servidor , es decir un servidor dedicado se puede usar iptables :).

Cualquier consulta o sugerencia , te escucho :)

Última edición por jonatanc; 29/07/2009 a las 15:21
  #3 (permalink)  
Antiguo 29/07/2009, 13:35
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Banear IPs

Cita:
Iniciado por jonatanc Ver Mensaje
Hola , mira te presento una solución a simple vista rapida para lo que decis:
Código php:
Ver original
  1. <?php
  2. $link=mysql_connect('localhost','username','password');
  3.  
  4. if($link){
  5.  
  6. mysql_select_db($db,$link);
  7.  
  8. }else{
  9. die('Error conectando a la db');
  10. }
  11.  
  12. $sql="SELECT ip FROM tabla_ip WHERE ip='{$ip}'";
  13. $sql=mysql_query($sql,$link);
  14.  
  15. if($sql){
  16. if(mysql_num_rows($sql)>0){
  17. die('Tu ip esta baneada'); //-- tambien puede ser una redicción con php es decir con header
  18. }
  19. }else{
  20. die('Error en consulta sql');
  21. }
  22.  
  23. ?>

Este fichero debe ir incluido en todos los php que tengas para securizar toda la web :)

Por otro lado el metodo que tu mencionas me di cuenta que es lo mismo que yo te escribi jajaja
jajaj si, igual esta bn para comparar

Cita:
, realmente no existe metodo bueno o malo pero pensa que si la web va a tener alto transito vas a tener consultas permantes a la tabla ips , por ende una cierta congestión o cuello de botella en toda tu web , ya que si este archivo falla , es muy factible que tu web no te ande.

Por otro lado el metodo que decis del panel es con htaccess , en teoria es mas veloz que php pero es mas incomodo para administrar por lo cual a mi gusto no es util , y tambien llega un cierto punto en donde el fichero .htaccess tiene cierto peso , que relentiza el sistema ya que ante cada petición get o post , el servidor primero procesa ese fichero , es decir el htacess.

Son ambos metodos viables en webs chicas , en webs muy grandes y que posees acceso a tu servidor , es decir un servidor dedicado se puede usar iptables :).

Cualquier consulta o sugerencia , te escucho :)
ok gracias, queria asegurarme de no estar haciendo algo innecesario

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:11.