Para prevenir inyecciones de código a través de inputs:
// Anti SQLi
$prohibit = array("or","OR","SELECT","select","UNION","union","insert","INSERT","ALTER","alter","DROP","drop","create","CREATE","WHERE","where","FROM","from","table_name","TABLE_NAME","'",'"',")","(");
if(explode($log_mail, $prohibit)){
$log_mail = str_replace($prohibit, "", $log_mail);
}
if(explode($log_pass, $prohibit)){
$log_pass = str_replace($prohibit, "", $log_pass);
}
Y no está de más validar los carácteres con javascript, para ello estaría bien utilizar por ejemplo esta función:
function caracteresPermitidos(cadena){
var correcto = true;
var permitidos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890_";
for (e=0;e<cadena.length;e++){
if (permitidos.indexOf(cadena.substr(e, 1),0) == -1){
correcto = false;
break;
}
}
return correcto;
}
