¿Hay alguna manera de deshabilitar las funciones sleep () y benchmark () en MySQL?

No, no sin recompilar MySQL.

El acceso a SLEEP () o BENCHMARK () no requiere ningún privilegio especial, y cualquier usuario puede llamar a las funciones. Ejemplo:

  mysql> crear usuario 'usuario' @ 'localhost';

 $ mysql -usuario

 mysql> mostrar subvenciones;
 + ------------------------------------------ +
 El |  Subvenciones para [correo electrónico protegido] |
 + ------------------------------------------ +
 El |  OTORGAR USO EN *. * A 'usuario' @ 'localhost' |
 + ------------------------------------------ + 

USAGE es el nivel de privilegio más bajo, significa que el usuario puede iniciar sesión pero no tiene otros privilegios en ningún objeto de base de datos.

  mysql> seleccione dormir (1);
 + ---------- +
 El |  dormir (1) |
 + ---------- +
 El |  0 |
 + ---------- + 

  mysql> select benchmark (20, 1 + 1);
 + -------------------- +
 El |  punto de referencia (20, 1 + 1) |
 + -------------------- +
 El |  0 |
 + -------------------- + 

No hay forma de deshabilitar las funciones integradas de MySQL, porque están compiladas en el propio servidor. Si una función fuera parte de un complemento o si se implementan como funciones almacenadas, podríamos deshabilitarla globalmente, pero las funciones integradas son accesibles sin importar qué.

Para deshabilitar estas funciones, tendría que modificar el código para MySQL y volver a compilar. Entonces ningún usuario o aplicación podría llamar a las funciones.

Sería más fácil y una mejor solución modificar el código de su aplicación para evitar la vulnerabilidad de inyección SQL.

More Interesting

¿Cuáles son las ventajas y desventajas de aprender PHP / MySQL y JavaScript sobre Python / Django + MySQL y Javascript?

He tenido una idea para un sitio web durante más de 5 años. Me faltan las habilidades para crearlo yo mismo. ¿Hay algún lugar donde pueda contratar un equipo para construirlo para mí?

Hice un excelente formulario de contacto. ¿Cómo hago (usando HTML y CSS), que cuando alguien presiona 'enviar', me envían el formulario completo por correo electrónico?

Descargué un tema de WordPress ahora quiero que sea mi propio sitio web. ¿Como lo puedo hacer?

Estoy tratando de desarrollar una herramienta CASE como un proyecto personal. Estoy tratando de echar un vistazo a otros existentes. ¿Dónde puedo encontrar una buena existente o aprender cómo desarrollarla?

Ahora estoy aprendiendo desarrollo web. Estoy atrapado en CSS y JavaScript avanzados. Quiero rendirme. ¿Cómo supero este bloqueo mental y sigo adelante?

Me gustaría saber sobre el alcance del desarrollador web PHP en Australia.

He creado mi sitio web en mi servidor local y estoy listo para comprar un hosting y un nombre de dominio. ¿Qué debo elegir y por qué?

Llegué tarde a la programación, ¿cuánto tiempo necesito dedicar para obtener un trabajo de desarrollador web junior?

No sé nada sobre desarrollo web / codificación. Dicho esto, tengo una idea para una tienda en línea basada en negocios / sitios web. ¿Cómo puedo progresar?

¿Qué recursos necesito para desarrollar un navegador web personalizado?

Soy nuevo en el desarrollo web y no tengo problemas para aprender JavaScript, lo que me molesta es CSS, hay demasiados trucos y no puedo recordar. ¿Qué tengo que hacer?

Yo soy un contador. ¿Cómo aprendo el script HTML y Java?

Quiero ser desarrollador web, ¿por dónde debería comenzar?

Terminé de aprender Python como principiante, ¿qué debo hacer para mejorar mis habilidades en programación y Python?