No puedes confiar en algo que puedas bloquear por "javascript" .. Pero si tienes en cuenta que un "F5" o refresco en general por el médio que sea .. llama a ejecutar un script PHP tuyo .. puedes perfectamente usar algún tipo de sesiones o cookies para detectar ese caso.
Ejemplo:
La primera vez que entres a tu script.php .. "seteas" una variable de sesión, y compruebas que no esté definida ya .. Si está definida es por qué ya pasastes por esa página .. ya sea por una recarga de página o que linkees nuevamente a dicha página.
Código PHP:
<?
session_start();
if ($_SESSION['paso'] == "si"){
die ("No está permitido recargar la página");
}
$_SESSION['paso']="si";
//etc tu script ...
Un saludo,