Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/05/2009, 17:42
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Restringir busquedas a un usuario

SP es el acrónimo de Stored Procedures, rutinas de SQL almacenadas en la base y que son parte de sus recursos, las que pueden ser parametrizadas o no, y sus parámetros pueden ser tanto de entrada, salida como entrada salida.
Tienen la ventaja de si contar con permisos a ese nivel, por lo que se puede asignar a un usuario determinado el poder ejecutar esa sola rutina y ninguna otra. Como es la rutina la que realiza la tarea de la consulta (o las consultas) , y no el usuario, entonces tiene ciertas ventajas básicas:
1º. Aumenta la seguridad de la base de datos al no permitir un acceso de más alto nivel (tablas, por ejemplo).
2º. Evita el sql-injection, ya que la llamada no puede contener otras sentencias, pues se define en el command de laaplicación que es un SP. SI intentas "colgarle algo" da error..
3º. Restringe las tareas accesibles a un conjunto de tareas dentro del codigo del SP. No puedes agregarle tareas sin modificar el SP, y eso solo lo puedes hacer con los permisos de CREATE ROUTINE.
4º. Encapsula el código, de modo que aún desencriptando el código de la aplicación, no se accede a qué hace el SP, porque el cuerpo del código reside en la base, no en la aplicación, y a esta no se accede sin los privilegios de superusuario.

Si no conoces el tema de los store procedures te recomiendo leer algo del tema en Wikipedia (Stores Procedures) y luego la sección del manual(Capítulo 19. Procedimientos almacenados y funciones)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)