Como regla general, el acceso a la base de datos debe ser “cortafuegos” desde el acceso directo al sitio web; de lo contrario, eres vulnerable a los hacks de inyección SQL. Por lo general, esto se hace con aplicaciones que dialogan con la base de datos y las aplicaciones front-end que crean páginas web directamente.
No sé cuál es el “mejor”, pero la mayoría de los lugares en los que he usado Java para “middleware” (las aplicaciones que están lógicamente entre el backend de db usando SQL y las aplicaciones front-end) y usan varios idiomas, incluido Ruby, Java, etc. para la generación de páginas web front-end. Dialogarán con el middleware utilizando API específicas de la aplicación (e idealmente no contendrán texto SQL).
Tenga en cuenta que incluso los accesos a bases de datos “cortafuegos” pueden estar sujetos a varios tipos de ataques de inyección SQL si no tiene cuidado, pero los hacks son mucho más fáciles si el texto SQL está incrustado en JavaScript front-end u otros idiomas que son directamente visibles en el navegador (lo más peligroso ya que los piratas informáticos pueden ver directamente su SQL y los nombres de sus tablas) o directamente transmitidos desde cadenas leídas desde el sitio web (segundo peor, especialmente si genera mensajes de error en el front-end utilizando cadenas de error del motor de base de datos).
- ¿La mayoría de los sitios web todavía están programados a mano?
- ¿Es mejor aprender desarrollo web a través de tutoriales de youtube (newboston) o mediante MOOC como cs50?
- ¿Los diferentes lenguajes de programación atraen a diferentes tipos de personalidad?
- Cómo ejecutar un script PHP a una hora específica del día
- ¿Qué necesito para diseñar un sistema de admisión en línea usando PHP?