Como había mencionado anteriormente, para desarrollar aplicaciones seguras, hay que conocer bien la herramienta o lenguaje con el que se trabaja. Espero que estos pequeños quiz intenten mostrar algunas de las fallas más comunes que cometen los que recién empiezan o ya desarrollan con PHP.
El código mostrado a continuación, ¿tiene alguna falla? ¿cuál?
if ( empty( $_GET['user'] ) && empty( $_POST['user'] ) )
die( 'Bad parameter' );
elseif ( ! empty( $_GET['user'] ) && intval( $_GET['user'] ) < 0 )
die( 'Bad parameter' );
elseif ( ! empty( $_POST['user'] ) && intval( $_POST['user'] ) < 0 )
die( 'Bad parameter' );
$sql = 'SELECT id, name, email
FROM users
WHERE id = ' . mysql_real_escape_string($_REQUEST['user']);
echo $sql;
?>
Como ya saben, el código mostrado sólo es referencial, pero vale comentar la forma correcta de implementar ese pedazo de código.