elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:51  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  Simple AntiBot en PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Simple AntiBot en PHP  (Leído 1,058 veces)
Karman


Desconectado Desconectado

Mensajes: 657



Ver Perfil WWW
Simple AntiBot en PHP
« en: 19 Febrero 2011, 05:16 »

bueno, dado que estaba sufriendo varios ataques en mi web (no se ni me interesa de quien) tube que implementar un antibot parecido al que se usaba en este sitio (inspirado en lo que puso el-brujo en un post aunque mucho más simple)

Código
<?php /* antibot.php */
 
function checkBot(){
//cookie params
@ini_set('session.use_cookies',1);
@ini_set('session.cookie_lifetime',31536000);//un año
@ini_set('session.use_only_cookies',1);
@ini_set('session.cookie_path','/');
// configufación de variables PHP
@ini_set('session.name',"AntiBot");//nombre de la cookie
//otras opciones  
@ini_set('session.hash_function',0);
@ini_set('session.use_trans_sid',0);
@ini_set('session.save_path','/tmp');
@session_start();
 
if(!isset($_SESSION['bottime']))
$_SESSION['bottime']=rand(100,999);
$bottime=$_SESSION['bottime'];
 
if(isset($_REQUEST['antibotkey']))
$_SESSION['antibotkey']=$_REQUEST['antibotkey'];
if(isset($_SESSION['antibotkey'])&&isset($_SESSION['bottime'])){
$antibotkey=$_SESSION['antibotkey'];
if(!empty($antibotkey)&&sha1($_SERVER['HTTP_USER_AGENT'].$bottime)==$antibotkey)
 return null;
}
 
if(!isset($_SESSION['botcount']))
$_SESSION['botcount']=0;
else
$_SESSION['botcount']++;
 
if($_SESSION['botcount']>10){
$_SESSION['botcount']=0;
@session_write_close();
@header("Location: http://www.google.com");
}
 
return sha1($_SERVER['HTTP_USER_AGENT'].$bottime);
}
 
?>

Código
<?php /* index.php */
/********************************* Anti Bot ************************************/
 
include 'antibot.php';
$antibotkey=checkBot();
if(!empty($antibotkey))
die("<a href='index.php?antibotkey=$antibotkey'>Haz Click Aquí para Entrar al Sitio</a><br/><br/>Este Mensaje es mostrado para evitar el ingreso de Bots y solo lo verás una vez.<br/><br/>Disculpe las molestias.");
 
/********************************* Anti Bot ************************************/

se puede optimizar, se le pueden agregar más checkeos, etc... pero es para tener una base dado que la que se utilizó acá en el foro no es público el código... je  :xD, pero como supongo es algo temporal no me calenté mucho en mejorarlo :)

S2

PD: El protocolo no es ese, pero es perecido, je


« Última modificación: 19 Febrero 2011, 05:19 por Karman » En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



Ver Perfil
Re: Simple AntiBot en PHP
« Respuesta #1 en: 19 Febrero 2011, 14:18 »

Es bypaseable xD, aunque creo que cualquier antibot se puede bypasear nomas sabiendo su algoritmo. Lo único que te puedo recomendar es que no muestre tus archivo antibot, aunque no muestres el source, mirando bien el funcionamiento de la web puedes saber como funciona tu antibotne.


En línea

Karman


Desconectado Desconectado

Mensajes: 657



Ver Perfil WWW
Re: Simple AntiBot en PHP
« Respuesta #2 en: 19 Febrero 2011, 17:05 »

Es bypaseable xD, aunque creo que cualquier antibot se puede bypasear nomas sabiendo su algoritmo. Lo único que te puedo recomendar es que no muestre tus archivo antibot, aunque no muestres el source, mirando bien el funcionamiento de la web puedes saber como funciona tu antibotne.

el protocolo es solo de ida, les va a llevar su buen rato descifrarlo...  ;), además, eso es configurable, se lo puede complicar tanto como se quiera...  :P

S2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Un simple cliente con un simple problema
Programación General
hakais 0 389 Último mensaje 19 Mayo 2004, 01:14
por hakais
ayuda simple
GNU/Linux
BeTaForever 7 560 Último mensaje 6 Agosto 2005, 23:16
por chronnoz
sql simple
Ejercicios
CrÄsH 6 2,193 Último mensaje 15 Diciembre 2008, 18:34
por CrÄsH
[C] Irc-Bot Simple
Programación C/C++
SeC 5 863 Último mensaje 2 Junio 2009, 19:11
por Eternal Idol
simple
Hacking Básico
ohk 1 747 Último mensaje 2 Junio 2009, 03:37
por Darioxhcx
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines