03/11/2010, 15:29
|
| | Fecha de Ingreso: julio-2002
Mensajes: 83
Antigüedad: 22 años, 4 meses Puntos: 0 | |
Problema login usuarios (falla y me borran datos) Hola,
Tengo un servidor en Plesk 9.3, en el tengo unos dominios alojados. En uno de ellos tengo una base de datos en Mysql con productos y una programación en PHP para gestionar estos artículos vinculados a unas imágenes.
Esporádicamente se borran registros de la base de datos MYSQL o imágenes asociadas. He estado revisando la programación y no veo nada desprotegido, cuando entramos en la web tengo un control login, con la siguiente programación:
Éste es la que recoge los datos del formulario login:
include ("abrir.php");
$email = $_POST['email'];
$password = $_POST['password'];
$ok = "no";
$result = mysql_query("SELECT email FROM usuaris WHERE email LIKE '$email' and contrasenya LIKE '$password'", $link);
while ($row = mysql_fetch_row($result)){
$ok = "si";
}
if ($ok == "si") {
$espai = "";
$sql = "UPDATE usuaris SET ip='$ipreal' WHERE email LIKE '$email' and contrasenya LIKE '$password'";
$result = mysql_query($sql);
$url = "location: panel.php";
header ($url);
}
Lo que hace es recoger los datos y grabar la ip del administrador, posteriormente en todos los php controlo que la ip sea la que está en la base de datos de ésta forma:
include ("abrir.php");
if ($client_ok != "si") {
$url = "location: login.php"; vuelvo a pedir el login.php
header ($url); }
Si es correcto continúo la programación del php
fichero abrir.php:
<?php
$link = mysql_connect("localhost", "bdd", "pass");
mysql_select_db("bdd", $link);
if ($_SERVER)
{
if ($_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
elseif ($_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else
$ip = $_SERVER["REMOTE_ADDR"];
}
else
{
if (getenv ("HTTP_X_FORWARDED_FOR"))
$ip = getenv ("HTTP_X_FORWARDED_FOR");
elseif (getenv ("HTTP_CLIENT_IP"))
$ip = getenv ("HTTP_CLIENT_IP");
else
$ip = getenv ("REMOTE_ADDR");
}
$ipreal = $ip;
$client_ok = "no";
$client_preus = "no";
$result = mysql_query("SELECT email FROM usuaris WHERE ip LIKE '$ipreal'", $link);
while ($row = mysql_fetch_row($result)){
$client_ok = "si";
}
?>
A ver si podeis ayudarme, no se si es un problema de poca protección de usuarios o no se, mis conocimientos se acaban???
SOS |