Es un problema de seguridad, y manipular los encabezados, o realmente, cualquier cosa que tenga del lado del cliente es muy fácil. Nunca debes confiar en nada que venga del cliente.
Definitivamente sugeriría que tenga una lista blanca de valores aceptables que se aplica en el lado del servidor para evitar las inyecciones de SQL. Esta lista podría generarse dinámicamente, pero asegúrese de que nunca, nunca, use algo que provenga del cliente en una cadena de conexión de base de datos o en una consulta construida de forma dinámica.
Como han sugerido otros, el nombre de la base de datos debe almacenarse en el lado del servidor, en un token de sesión, y no enviarse a través de encabezados HTTP.
OWASP tiene un montón de buena información sobre el tema de las inyecciones de SQL. Consulte enlace