tornando a aplicação web php segura

para proteger meu projeto de ataques (exemplo: injeção de SQL) estou usando o abaixo para páginas de parâmetro de consulta (*. php? query = value):

$id=strip_tags($id);
$id=mysql_real_escape_string($id);    
if(is_numeric($id) && strlen($id)<=3) //id are numbers maximum of 3 digits
Além deste im usando validações client (JavaScript) e server side (php),strip_tags() para filtrar dados conforme necessário.As senhas são criptografadas usandobcrypt()Todas as mensagens são criptografadas usandomcrypt_ecb()As páginas só podem ser acessadas quandoisset($_SESSION["id"]) ou seja, logado.error_reporting(0);para ocultar erros.$_POST ao invés de$_REQUESTmysql_real_escape_string(); para cada entrada

na verdade, meu projeto será usado pela faculdade e ficará tenso com a segurança, porque o backtrack facilita a penetração, por isso estou me esforçando para torná-lo seguro. (Eu sei que é uma grande questão, mas qualquer tipo de ajuda será muito útil), mas como estudante eu quero saber o que mais estou perdendo para torná-lo seguro?

questionAnswers(3)

yourAnswerToTheQuestion