Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2010, 17:39
manupalaya
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 2 meses
Puntos: 3
Proteger acceso directo a un archivo

Si ya se que es una pregunta típica, pero es que por más que aplico diferente script no me funciona ninguno.

Mirar tengo el archivo index.php que envia el formulario a recibido.php en el cual hago un UPDATE a la base de datos. ¿como impido el acceso directo a recibido.php?

ya he probado sin exito:

if($_SERVER['HTTP_REFERER'] != "index.php"){
echo "No puede acceder a este pagina de forma directa <br> Acseso Denegado !";
exit;
}


Y tambien a poner indices en archivo define('_INDICE_',true); y en recibido.php if (!defined('_INDICE_')) die("acceso denegado");

¿Que puedo hacer? mi archivo abajo:

index.php
Código PHP:
<?php
 error_reporting
(0);
    
session_start();
    if(!isset(
$_SESSION['idioma'])){
        
$_SESSION['idioma']="english";
    }


     include(
"languages.php");
     
$palabra = new idiomas();
     include(
"configuration.php");
     
$conexion=mysql_connect("$server","$user","$password");
     
mysql_select_db("$database");

     
$sql="select * from empleados where dni=0";
     
$result=mysql_query($sql);
     
$row=mysql_fetch_assoc($result);
     
$content=$row['horas'];


if(isset(
$_POST['save'])) {
    print 
"<pre>";
    
print_r($_POST);
    print 
"</pre>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

</head>
<body>

<form method="post" action="recibido.php">
    <div>
        <div><br /><input type="submit" name="save" value="Save" /><input type="reset" name="reset" value="Reset" />
            <textarea id="elm" name="elm">
                        
            </textarea>
        </div>
        <br />

    </div>
</form>
</body>
</html>
recibido.php
Código PHP:
<?php
     
include("configuration.php");
     
$conexion=mysql_connect("$server","$user","$password");
     
mysql_select_db("$database");

$sql="UPDATE ...";

if (!
mysql_query($sql,$conexion))
  {
  die(
'Error');
  }
echo 
"enviado!";



?>