Buenas,
Me gustaría mejorar mi seguridad en el código, para saber que mis scripts no son ejecutados desde fuera de mi servidor. Para ello hasta ahora tenía lo siguiente:
Código php:
Ver original// chequear página que lo llama para devolver errores a dicha página.
$url = explode("?",$_SERVER['HTTP_REFERER']); $pag_referida=$url[0];
$redir=$pag_referida;
function Redirigir_error($num_error) {
$_SESSION['error']=$num_error;
Header ("Location: /entrada_login.php"); }
// chequear si se llama directo al script.
if ($_SERVER['HTTP_REFERER'] == ""){
die (Header ("Location: /error/ruta_incorrecta.php")); }
Esto hacia que si el script se llamaba de forma directa redirige al usuario a una pagina de error. Pero claro evitar esto es sencillo, tan solo basta con poner un enlace que apunte al script y ya no será llamado de forma directa!
Entonces he pensado en hacerlo así, modificando la linea 12
Código php:
Ver original// chequear página que lo llama para devolver errores a dicha página.
$url = explode("?",$_SERVER['HTTP_REFERER']); $pag_referida=$url[0];
$redir=$pag_referida;
function Redirigir_error($num_error) {
$_SESSION['error']=$num_error;
Header ("Location: /entrada_login.php"); }
// chequear si se llama directo al script.
if ($redir != "http://dominio.com/index.php"){
die (Header ("Location: /error/ruta_incorrecta.php")); }
De esta forma solo hará caso si el script es llamado desde la pagina
http://dominio.com/index.php, pero mi pregunta es... si esta protección no se puede evitar de alguna forma? suplantando el nombre de la página por ejemplo?
Acepto criticas y sugerencias!
Muchas gracias de antemano