Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/06/2009, 04:26
waty90
 
Fecha de Ingreso: diciembre-2006
Mensajes: 153
Antigüedad: 17 años, 4 meses
Puntos: 1
Pregunta Respuesta: bloquear formularios externos con php.

Cita:
Iniciado por MilkZoft Ver Mensaje
Hola Waty90, hice el siguiente código espero y te sirva, el chiste es verificar el Referer de donde proviene la visita, si no es algúno de los que defines, pues no le autoriza el acceso.

Un Saludo!

Código PHP:
<?php

function Referers($Referer) {
    if(
count($Referer) > 0) {
        
$Tmp  explode("/"getenv("HTTP_REFERER"));
        
$Ref  $Tmp[2];
        
$Flag false;
        
        if(
$Ref == null) {
            
$Ref $_SERVER['HTTP_REFERER'];
            list(
$Quitar$Sp)    = split('//'$Ref2);
            list(
$Principal$Sp) = split('/',  $Sp,  2);
            
$Ref $Principal;
        }
        
        for(
$i 0$i count($Referer) - 1$i++) {
            if(
eregi($Referer[$i], $Ref)) $Flag true;            
        }    
        
        if(
$Ref == null or $Flag == false) return false;
        else return 
true;
    }
}


if(
Referers(array('www,milkzoft,com''www,milkzoft,com/''milkzoft,com')) == false) die("Error: Acceso no autorizado");
else echo 
'Acceso autorizado';

?>
NOTA: en el array, en vez de puntos puse comas, por que no me permitía publicarlas, un saludo!

MilkZoft gracias por el codigo, pero no logro hacer k me funcione.


eh cambiado las (,) por (.) en le array y he guardado el archivo como acceso.php he puesto un link en mi pagina principal a acceso.php.

pero aparece el mensaje, acceso autorizado de todas formas.


nose si falta algo mas..

muxas gracias por tu ayuda.

Código PHP:
<?php

function Referers($Referer) {
    if(
count($Referer) > 0) {
        
$Tmp  explode("/"getenv("HTTP_REFERER"));
        
$Ref  $Tmp[2];
        
$Flag false;
        
        if(
$Ref == null) {
            
$Ref $_SERVER['HTTP_REFERER'];
            list(
$Quitar$Sp)    = split('//'$Ref2);
            list(
$Principal$Sp) = split('/',  $Sp,  2);
            
$Ref $Principal;
        }
        
        for(
$i 0$i count($Referer) - 1$i++) {
            if(
eregi($Referer[$i], $Ref)) $Flag true;            
        }    
        
        if(
$Ref == null or $Flag == false) return false;
        else return 
true;
    }
}


if(
Referers(array('http://www.mundoloko.es/''www.milkzoft.com/''milkzoft.com')) == false) die("Error: Acceso no autorizado");
else echo 
'Acceso autorizado';

?>