Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/11/2010, 15:29
Ramon1234
 
Fecha de Ingreso: julio-2002
Mensajes: 83
Antigüedad: 21 años, 9 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