Io ho realizzato questa funzione:
Codice PHP:
<?
function Referer_Control() {
$referer = $_SERVER['HTTP_REFERER'];
$host = $_ENV['HTTP_HOST'];
$fileRisp = "response.txt";
$filename = "deniedhosts.txt";
$pathdir = $_SERVER['DOCUMENT_ROOT']."/maxdev/hosts/";
$myfile = $pathdir.$filename;
$rispfile = $pathdir.$fileRisp;
$h = fopen($myfile, 'r');
$text = fread($h, filesize($myfile));
fclose($h);
$h = fopen($rispfile, 'r');
$risposta = fread($h, filesize($rispfile));
fclose($h);
$text .= "\n";
$e=explode("\n",$text);
$nn=count($e)-1;
$ret=true;
for ($n=0;$n<$nn;$n++) {
$e[$n] = str_replace("\n","",trim($e[$n]));
$pos1=false;
$pos2=false;
if ($e[$n]!="") {
$pos1 = strpos($host,$e[$n]);
$pos2 = strpos($referer,$e[$n]);
if ($pos1!=false || $pos2!=false) {
echo $risposta;
$ret = false;
}
}
}
return($ret);
}
?>
Funziona se lo script è inserito in un iframe ma
il problema è che $_ENV['HOST_NAME'] non funziona se qualcuno utlizza un include_once o un include_once al posto degli iframe io non so come identificare il nome del server che ha richiamato lo script...
Qualcuno sa aiutarmi?
spero di essere stato chiaro...