Identificar usuario y proteger bases de datos MySQL
Tengo diseñada una base de datos MySQL, y para acceder a su mantenimiento (altas,bajas,...) por página web, uso el siguiente codigo para comprobar el usuario y passwd, que reside a su vez, en otra base de datos MySQL, a fin de que solo pueda tener acceso la gente identificada
Este es el codigo de login.phtml -----------
Formulario de identificacion :-------
<?php
if (session_is_registered("valido_usuario"))
{
echo "Estas registrado como usuario : $valido_usuario <br>";
}
else
{
if (isset($Fusuario))
{
// Lo ha intentado y ha fallado
echo "Usuario No tiene acceso !";
}
else
{
// Todavia no ha entrado
echo "Acceso restringido a usuarios autorizados. Debe registrarse primero.";
}
echo "<form action="login.phtml">";
echo " <table>";
echo " <tr> <td> <div align="right"><b>Usuario</b></div> </td>";
echo " <td><input type="text" name="Fusuario" size="10" maxlength="10"> </td> </tr>";
echo " <tr><td><div align="right"><b>Clave de acceso</b></div> </td>";
echo " <td><input type="password" name="Fclave" size="12" maxlength="12"></td></tr>";
echo "</table>";
echo "<p><input type="submit" name="Submit" value="Validar"></p>";
echo "</form>";
}
?>
En cada una de las páginas, compruebo que previamente se haya identificado, incluyendo el siguente codigo al inicio :
<?php
session_start();
if (session_is_registered("valido_usuario"))
{
echo "Usuario : $valido_usuario <br>";
}
else
{
?> <script Language="JavaScript">
location='login.phtml'
</script>
<?
}
?>
Pues bien, alguien ha conseguido acceder a las páginas, o a las bases de datos, y me ha borrado todos los registros !!!!
Como puedo proteger mis bases de datos de una manera eficaz ???????
Podeis ver esta web en http://www.espratet.com/mantenimiento.phtml
Gracias por la ayuda.
fonso.
Este es el codigo de login.phtml -----------
Formulario de identificacion :-------
<?php
if (session_is_registered("valido_usuario"))
{
echo "Estas registrado como usuario : $valido_usuario <br>";
}
else
{
if (isset($Fusuario))
{
// Lo ha intentado y ha fallado
echo "Usuario No tiene acceso !";
}
else
{
// Todavia no ha entrado
echo "Acceso restringido a usuarios autorizados. Debe registrarse primero.";
}
echo "<form action="login.phtml">";
echo " <table>";
echo " <tr> <td> <div align="right"><b>Usuario</b></div> </td>";
echo " <td><input type="text" name="Fusuario" size="10" maxlength="10"> </td> </tr>";
echo " <tr><td><div align="right"><b>Clave de acceso</b></div> </td>";
echo " <td><input type="password" name="Fclave" size="12" maxlength="12"></td></tr>";
echo "</table>";
echo "<p><input type="submit" name="Submit" value="Validar"></p>";
echo "</form>";
}
?>
En cada una de las páginas, compruebo que previamente se haya identificado, incluyendo el siguente codigo al inicio :
<?php
session_start();
if (session_is_registered("valido_usuario"))
{
echo "Usuario : $valido_usuario <br>";
}
else
{
?> <script Language="JavaScript">
location='login.phtml'
</script>
<?
}
?>
Pues bien, alguien ha conseguido acceder a las páginas, o a las bases de datos, y me ha borrado todos los registros !!!!
Como puedo proteger mis bases de datos de una manera eficaz ???????
Podeis ver esta web en http://www.espratet.com/mantenimiento.phtml
Gracias por la ayuda.
fonso.
Si la base de datos MySQL te pertenece, puedes hacer lo siguiente:
En la tabla user, hay una columna llamada host. Crea solo dos entradas: una con la I.P. 127.0.0.1 y utiliza ese nombre de usuario y contrseña para trabjar con las conexiones PHP-MySQL.
Otra entrada serÃa con tu I.P. / Host, dado que quizás administres la web en remoto (con MySQL Front o algun otro programa similar)
Y, por supuesto, no permitir en ningún momento que se puedan lanzar consultas desde los formularios.
Para algo de lo que tu quieres, visita mi tutorial "La sana paranoia" en www.flipis.net
Espero que te sea útil
fLIPIS
En la tabla user, hay una columna llamada host. Crea solo dos entradas: una con la I.P. 127.0.0.1 y utiliza ese nombre de usuario y contrseña para trabjar con las conexiones PHP-MySQL.
Otra entrada serÃa con tu I.P. / Host, dado que quizás administres la web en remoto (con MySQL Front o algun otro programa similar)
Y, por supuesto, no permitir en ningún momento que se puedan lanzar consultas desde los formularios.
Para algo de lo que tu quieres, visita mi tutorial "La sana paranoia" en www.flipis.net
Espero que te sea útil
fLIPIS
