Realmente es muyyyyyy inseguro tu sistema .. El "HTTP_REFERER" se puede perfectamente -emular- lo que necesite para pasar tu validación.. Creo que no es justificación hacer ese tipo de "validación" y alegar que "para ti te sobra" ..
Por qué no usas sesiones o simples cookies? .. es tan símple usarlo como:
autoriza.php
Código PHP:
<?
session_Start();
// si validas a tu usuario correctamente ... defines una variable de sesión:
$_SESSION['autentificado']="blabla";
etc ...
// y redireccionas hacia tu otra página autentificada
header("Location: nosedonde.php");
?>
nosedonde.php
Código PHP:
<?
session_start();
if (isset($_SESSION['autentificado'])){
header ("Location: login.php");
exit;
}
// resto de tu script ..
Como veras .. es bien simple usar sesiones para tener un sistema de autentificación y validación seguro.
----
Sobre tu problema concreto .. se supone que tu haces login y de ahí redireccionas a esa página que contiene tu validación donde se evalua "de que página llega" .. No comentas exactamente como llegas ahí .. si de un link? .. abriendo una ventana y llamando a ese código? ..
Lo único que veo es que NO deberías usar $HTTP_REFERER sino $_SERVER['HTTP_REFERER']
Un saludo,