Hola, se me ocurre que lo podrías trabajar de esta manera:
No permitas que se cachee la pagina.
El '$_SERVER["HTTP REFERER"] ' te devuelve de donde viene la pagina, por lo tanto trabajando con alguna funcion comparando si contiene tu host, podrias destruir las sessiones.
Mas o menos asi (esta hecho sin revisar, para ver la idea)
Código PHP:
Ver original$sitioreferido=$_SERVER["HTTP REFERER"];
$misitio="miwebsite.com";
if(!empty($sitioreferido){ //aca te indica si es entrada directa o viene de otro lado.
$pos = strpos($misitio, $sitioreferido); //compara que "miwebsite.com este en el referer.
if($pos == "false"){ //si pos es false quiere decir que viene de un sitio que no es el tuyo.
}
}
Es una idea que la hice en el momento y se puede mejorar, pero la idea es esa.