Eu nunca confiaria em “HTTP_REFERER”. <�>De http://php.net/manual/en/reserved.variables.server.php >:
“Isto é ajustado pelo agente de usuário. Não todos os agentes de usuário ajustarão este, e alguns fornecem a habilidade de modificar HTTP_REFERER como uma caraterística. No short, não se pode realmente confiar.”
Havia um número de soluções que eu poderia pensar para deste problema. Eu não sou certo como de confiança são, dependendo do nível de segurança necessário.
(1) Javascript:
//child.php
(2) $_GET
//parent.php
//child.php
se ($_GET [“picowatt”]! = “… ") {
encabeçamento (...);
morrer ();
}
(3) $_SESSION (não saber se isto trabalhará toneladas da abertura de abas)
//parent.php
$_SESSION [“pai”] = RETIFICAM;
//child.php
se (! $_SESSION [“pai”]) {
encabeçamento (...);
}
$_SESSION [“pai”] = FALSO;
Você poderia igualmente usar htaccess ReWriteRule, mas a solução seria somente tão boa quanto essas já alistadas. #3 seria o mais seguro, se trabalha. Eu não penso que você poderá encontrar uma solução segura da cheio-prova, mas estas soluções trabalharão para apenas usos gerais. Eu deixá-lo-ei saber se eu penso/achado de qualquer outra coisa. Se você precisa uns detalhes/ajudas mais adicionais com uma destas soluções, eu explicá-la-ei mais detalhadamente.