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>
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!";
?>