Postado Agosto 1, 2013 11 anos Olá Aqui vai uma função em PHP que é possivel proteger contra ataques DoS, ou seja, se ela detectar que o usuário possivelmente está acessando várias páginas antes de 3 segundos (flood pages), o usuário é bloqueado e uma mensagem apareçerá na tela! "Muito bom para bloquear bots, não todos tipos, mais bloqueia". Criamos um arquivo "protect.php" <?php date_default_timezone_set('America/Sao_Paulo'); $crlf=chr(13).chr(10); $itime=3; //Minimum number of seconds between one-visitor visits $imaxvisit=10; //Maximum visits in $itime x $imaxvisits seconds $ipenalty=($itime * $imaxvisit); //Minutes for waitting $iplogdir="./logs/DoSLog/"; $iplogfile="hackreport/AttackersIPs.Log"; // Time $today = date("Y-m-j,G"); $min = date("i"); $sec = date("s"); $r = substr(date("i"),0,1); $m = substr(date("i"),1,1); $minute = 0; $to = '[email protected]'; $headers = 'From: Trinity DDOS Shield' . "\r\n"; $subject = "Warning of Possible DoS Attack at $today:$min:$sec"; //Warning Messages: $message1='<font color="red">Space under heavy bandwidth usage or being DDOS attacked!</font><br>'; $message2='Aguarde ... '; $message3=' segundo ou tente novamente após alguns minutos a partir de agora.<br>'; $message4='<font color="blue">Protegido por DDOS Shield feita por Igor Pereira.</font><br>Se você é um ser humano, a mudança de IP.<br>Nós proibiu temporariamente este IP <b>'.$_SERVER["REMOTE_ADDR"].' </b>de ataque DoS.'; $message5= 'Trinity has been attacked by a bot or human visiting from this IP address: '.$_SERVER["REMOTE_ADDR"]; $message6='<br><img src="./logs/DoSLog/cross.gif" alt="" border="0">'; //---------------------- End of Initialization --------------------------------------- //Get file time: $ipfile=substr(md5($_SERVER["REMOTE_ADDR"]),-3); // -3 means 4096 possible files $oldtime=0; if (file_exists($iplogdir.$ipfile)) $oldtime=filemtime($iplogdir.$ipfile); //Update times: $time=time(); if ($oldtime<$time) $oldtime=$time; $newtime=$oldtime+$itime; // Check human or bot: if ($newtime>=$time+$itime*$imaxvisit) { // To block visitor: touch($iplogdir.$ipfile,$time+$itime*($imaxvisit-1)+$ipenalty); header("HTTP/1.0 503 Service Temporarily Unavailable"); header("Connection: close"); header("Content-Type: text/html"); echo '<html><head><title>Igor Pereira DDOS Sheild</title></head><body><p align="center"><strong>' .$message1.'</strong>'.$br; echo $message2.$ipenalty.$message3.$message4.$message6.'</p></body></html>'.$crlf; // Mailing Warning Message to Site Admin { @mail($to, $subject, $message5, $headers); } // logging: $fp=@fopen($iplogdir.$iplogfile,"a"); if ($fp!==FALSE) { $useragent='<unknown user agent>'; if (isset($_SERVER["HTTP_USER_AGENT"])) $useragent=$_SERVER["HTTP_USER_AGENT"]; @fputs($fp,$_SERVER["REMOTE_ADDR"].' on '.date("D, d M Y, H:i:s").' as '.$useragent.$crlf); } @fclose($fp); exit(); } //Modify file time: ?> Agora no index.php coloque: <?php include "protect.php"; ?> Enjoy my knowledge! (: DEDICADO BRASIL Professional Internet Datacenter Tudo oque você precisa para ter certeza de que não há nada que vai estragar teus planos em seu projeto Gamer/Engine, nós somos uma empresa qualificada em Segurança em servidores, obtemos técnicos especializados, que possam lhe alertar sobre qualquer falha que você esteja sofrendo. - Visite o site
Postado Junho 30, 2014 10 anos Desculpe reviver o tópico, porem alguem poderia me ajudar como proceder onde criar esse arquivo ? Malblofor REP+ Citar [ADMINISTRAÇÃO DE SERVIDORES]
Postado Junho 30, 2014 10 anos Desculpe reviver o tópico, porem alguem poderia me ajudar como proceder onde criar esse arquivo ? na pasta do site junto onde fica o index.php
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.