Para evitar que al "dar hacia atras" vuelvas a ejecutar el script donde realizas el envio del e-mail .. tienes que redireccionar a otra página (o si misma) para que pierdas las varibles que viajan por POST.
El redireccionamiento lo debes hacer con header("location: pagina_gracias.html") .. por poner un ejemplo o a si misma con una variable de control (como creo que te ha sugerido josemi) ..
Luego .. para que no te usen el script de recomendación desde otras webs, puedes usar vários métodos ..
1) sesiones .. el Más seguro .. Generas una variable de sesión al entrar al formulario de recomendación --> la verificas en el script (o parte del proceso) que haga el envio de la recomendación .. al terminar el proceso .. borras la sessión y redirccionas a la página "gracias" o a si mismo con otra variable de control (o con la misma variable de sesión ..)
2) Si no quieres usar sessiones (ni cookies que sería otra opció más) .. Usa algo tipo: (se usa una exp. regular para ver si la cadena del HOST es la misma que lo llamó (el HTTP_REFERER) .. osease .. que el script es llamado desde una página de nuestro servidor ..)
Código PHP:
<?
if (!@eregi($_SERVER['HTTP_HOST'],$_SERVER['HTTP_REFERER'])){
header ("location: seguridad.php");
exit;
}
?>
(Esto no es ifalible .. se puede "engañar" fácilmente el "HTTP_REFERER")
Un saludo,