El pienso es que tengo un sitio web completo de trabajo con muchas llamadas al servidor MySQL y hacer algunas investigaciones en este sitio vi que hacer mis querys en esta forma:Prevención de inyección SQL utilizando SOLO php
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
Puedo resolver el problema de seguridad, pero, como dije, tengo muchas llamadas al servidor MySQL, y la mejor manera (en mi caso) para resolver el problema es ir directamente a los vars que paso a la consulta, pero sin usar una Función MySQL porque estoy fuera de la consulta. Me explico, tengo esto:
mysql_query("SELECT * FROM `post` WHERE id=" . $_GET['edit']);
no puedo hacer modificaciones a esta consulta porque tengo un montón de esto en toda mi código, insted i preefer para comprobar si las inyecciones en el var, $ _GET [' editar'].
¿Cómo puedo usar cheque PHP puro para inyecciones SQL en las variables de los querys? Me gusta:
$_GET['edit']=freehack($_GET['edit']);
Viendo el número de personas votadas y preferidas * esto, * ¡No puedo creer que haya tantos desarrolladores tan pobres por aquí! Entonces, ¿todas estas personas tienen el mismo problema y buscan el * mismo tipo de solución? –
Además, será mejor que no escape su contraseña afaik. Cifre la contraseña si va a usarla para comparar. – Nick
"No puedo hacer modificaciones en esta consulta porque tengo mucho de esto en todo mi código" La pereza es impropia frente a un error grave. – Andrew