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?

<?php

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.