Tengo una aplicación muy simple que permite a los usuarios no autenticados dejar comentarios (quizás más adelante incorpore un capatcha). La aplicación luego almacena los comentarios en una base de datos de mysql. Hago todo lo posible para filtrar caracteres especiales, pero no creo que sea el mejor enfoque. ¿Cuál es el mejor enfoque para protegerse contra los ataques de inyección de SQL?
Además, el sitio contiene muchos javascript y, por lo tanto, probablemente reescribiré parte de la lógica del lado del servidor. La principal vulnerabilidad que veo es una función de devolución de llamada que envía una cadena al servidor. Esta cadena se analiza y luego se envía a la base de datos. ¿Es esto una vulnerabilidad real y, en caso afirmativo, cómo puedo solucionarlo? Además, ¿tener lógica en el cliente es un riesgo? ¿Cuál es el criterio allí?
Por último, ¿cómo implemento un hash de contraseña simple para la base de datos? ¿Acabo de seguir estas instrucciones? (Lo pregunto porque lo intenté y fracasé, pero solo quería asegurarme de que estoy persiguiendo al conejo correcto)
Además, ¿me estoy perdiendo algo grande?