Foros del Web » Programando para Internet » PHP »

como protejer mi sitio de los ataques

Estas en el tema de como protejer mi sitio de los ataques en el foro de PHP en Foros del Web. me gustaria saber si alguien conoce la forma de protejerse de los ataques. bueno tengo mi sitio, en un momento en linea tengo a 30 ...
  #1 (permalink)  
Antiguo 22/06/2008, 12:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 27
Antigüedad: 16 años, 1 mes
Puntos: 1
como protejer mi sitio de los ataques

me gustaria saber si alguien conoce la forma de protejerse de los ataques.

bueno tengo mi sitio, en un momento en linea tengo a 30 usuarios, depronto intespestivamente entran unos 10 a 15 usuarios, y el sitio se cae, solo la web, por que las webs donde estan en el mismo servidor, estan normal.

como podria protejerme de esos ataques, como podria almacenar los ips que ingresan a mi sitio y poder banearlos, ya que uso Cpanel, y hay una funcion de banear ips, si es que solucionaria mi problema

ahh otra cosa... no puedo ver los ips, solo el numero de usuarios que estan conectados, quizas conocen algun script donde pueda ver las ips y ver si son proxys para banearlos.

agradezco su ayuda.

saludos
  #2 (permalink)  
Antiguo 23/06/2008, 00:08
 
Fecha de Ingreso: marzo-2008
Mensajes: 27
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como protejer mi sitio de los ataques

Encontre este script, quizás algun experto en PHP pueda explicarme un poco, como funciona?? pongo el codigo PHP.

Código PHP:
<?php
 
/*
CHMOD /iplog/ to 777
Create and CHMOD /iplog/iplogfile.dat to 666
add the following line in any important .php file in the same directory as your anti_dos.php file so it can check IPs when that file is loaded, best example is index.php if you have it.
include("anti_dos.php"); //anti-DoS, prevents rapid accessing

 if you have a known cookie on your site, 
you can use this, otherwise just ignore this, it will set a different limit 
for people with this cookie
 
I use yourothercookie as the cookie ID for the forum, my forum uses ID 
greater than 0 for all members and -1 for guests and members who have logged out, 
so making it match greater than zero means members will get better access and 
guests with or without cookies won't

Also I use these cookies in the "flood alert" emails to make sure an important user didn't get banned. Someone could fake a cookie, so always be suspicious. Tez
 */
$cookie $_COOKIE['yourcookie'];
$othercookie $_COOKIE['yourothercookie'];


if(
$cookie && $othercookie 0$iptime 20;  // Minimum number of seconds between visits for users with certain cookie
else $iptime 10// Minimum number of seconds between visits for everyone else


$ippenalty 60// Seconds before visitor is allowed back


if($cookie && $othercookie 0)$ipmaxvisit 30// Maximum visits, per $iptime segment
else $ipmaxvisit 20// Maximum visits per $iptime segment


$iplogdir "./iplog/";
$iplogfile "iplog.dat";

$ipfile substr(md5($_SERVER["REMOTE_ADDR"]), -2);
$oldtime 0;
if (
file_exists($iplogdir.$ipfile)) $oldtime filemtime($iplogdir.$ipfile);

$time time();
if (
$oldtime $time$oldtime $time;
$newtime $oldtime $iptime;

if (
$newtime >= $time $iptime*$ipmaxvisit)
{
touch($iplogdir.$ipfile$time $iptime*($ipmaxvisit-1) + $ippenalty);
$oldref $_SERVER['HTTP_REFERER'];
header("HTTP/1.0 503 Service Temporarily Unavailable");
header("Connection: close");
header("Content-Type: text/html");
echo 
"<html><body bgcolor=#999999 text=#ffffff link=#ffff00>
<font face='Verdana, Arial'><p><b>
<h1>Temporary Access Denial</h1>Too many quick page views by your IP address (more than "
.$ipmaxvisit." visits within ".$iptime." seconds).</b>
"
;
echo 
"<br />Please wait ".$ippenalty." seconds and reload.</p></font></body></html>";
touch($iplogdir.$iplogfile); //create if not existing
$fp fopen($iplogdir.$iplogfile"a");
$yourdomain $_SERVER['HTTP_HOST'];
    if (
$fp)
    {
    
$useragent "<unknown user agent>";
    if (isset(
$_SERVER["HTTP_USER_AGENT"])) $useragent $_SERVER["HTTP_USER_AGENT"];
    
fputs($fp$_SERVER["REMOTE_ADDR"]." ".date("d/m/Y H:i:s")." ".$useragent."\n");
    
fclose($fp);
    
$yourdomain $_SERVER['HTTP_HOST'];
    
    
//the @ symbol before @mail means 'supress errors' so you wont see errors on the page if email fails.
if($_SESSION['reportedflood'] < && ($newtime $time $iptime $iptime*$ipmaxvisit))
    @
mail('flood_alert@'.$yourdomain'site flooded by '.$cookie.' '
    
.$_SERVER['REMOTE_ADDR'],'http://'.$yourdomain.' rapid website access flood occured and ban for IP '.$_SERVER['REMOTE_ADDR'].' at http://'.$yourdomain.$_SERVER['REQUEST_URI'].' from '.$oldref.' agent '.$_SERVER['HTTP_USER_AGENT'].' '
    
.$cookie.' '.$othercookie"From: ".$yourdomain."\n");
    
$_SESSION['reportedflood'] = 1;
    }
    exit();
}
else 
$_SESSION['reportedflood'] = 0;

//echo("loaded ".$cookie.$iplogdir.$iplogfile.$ipfile.$newtime);
touch($iplogdir.$ipfile$newtime); //this just updates the IP file access date or creates a new file if it doesn't exist in /iplog
?>
Quizás pudiera mover el post al foro de PHP, gracias
  #3 (permalink)  
Antiguo 23/06/2008, 01:38
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 85
Antigüedad: 16 años
Puntos: 1
Respuesta: como protejer mi sitio de los ataques

Así mirándolo por encima lo que hace es guardar los datos de cada visitante en un txt y si ve que ese visitante a causado mucho trafico le muestra un 503,
Service Temporarily Unavailable.
  #4 (permalink)  
Antiguo 23/06/2008, 09:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 27
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como protejer mi sitio de los ataques

sera la solucion a mi problema?
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 05:29.