Estoy viendo la parte de la seguridad de mi pagina web, especificamente en la parte de los querys. Estuve leyendo sobre el tema y me parecio bastante interesante, pero sigo sin entender la manera de aplicarlo y el orden de aplicarlo.
Se que seria bueno utilizar varias funciones para acomodar los textos a introducir a la base de datos, para que no sean malignos y que no puedan obtener informacion para acceder con todos los privilegios a la base de datos.
Estas son algunas funciones que encontre que podrian servirme:
mysql_real_escape_string();
stripslashes();
get_magic_quotes_gpc();
Pero, en que momento debo de usarlas, cuando hago una consulta a la base de datos?, cuando hago un update a un registro de la base de datos?, cuando ingreso un registro a la base de datos?
Voy a poner un ejemplo de codigo que yo tengo para hacer una consulta, un update y un ingreso de registro nuevo.
Código PHP:
<?
//INGRESAR UN NUEVO REGISTRO:
$password = md5($_POST['password']);
$foto="IMG/cliente.png";
$registrar="INSERT INTO clientes (cliente_id, nombre, apellido, email, password, foto)
VALUES
('','$_POST[nombre]','$_POST[apellido]','$_POST[email]','$password','$foto')";
if (!mysql_query($registrar))
{
die('Error: ' . mysql_error());
}
//CONSULTA:
(isset ($_GET['id']))? $id = $_GET['id'] : $id = NULL;
$foto = "SELECT foto FROM clientes WHERE cliente_id = '$id'";
$foto = mysql_query($foto);
while($rs=mysql_fetch_array($foto))
{
echo "<img src='".$rs['foto']."'>";
}
//UPDATE DE UN REGISTRO:
$update="UPDATE clientes SET nombre = '$_POST[nombre]', apellido = '$_POST[apellido]', email = '$_POST[email]' where cliente_id = '$_SESSION[cliente]'";
if (!mysql_query($update))
{
die('Error: ' . mysql_error());
}
?>
Muchisimas gracias!