| Haz tus extensiones de Joomla más seguras |
| Joomla Blog - Formacion Joomla | |||||||||
| Jueves, 18 de Marzo de 2010 19:18 | |||||||||
|
Inyección SQLUno de los problemas más comunes y catastróficos es el de las inyecciones SQL. Una inyección SQL puede acabar con toda la información de tu sitio web y, por consiguiente, con todo tu sitio. Para tratar de evitarlas hay que procesar los datos que vienen desde el exterior con los métodos apropiados del API de Joomla. A continuación se enumeran algunas de estas funciones que incorpora el API de Joomla.
Vamos a ver cómo usarlas.
El método getDBO() devuelve el objeto JDatabase. El método nameQuote entrecomilla los identificadores de tabla y de columna respectivamente. Mientras que el método Quote entrecomilla el literal. El resultado final de las variables es el siguiente:
También existe el método getEscaped, que devuelve el string escapado, pero no entrecomillado. El método quote devuelve el string escapado y entrecomillado. De esta forma evitaremos que fallen algunas consultas donde se usan palabras reservadas de MySQL, muy común y muy difícil de detectar y, además evitaremos que algunos usuarios maliciosos intenten modificar nuestra consulta SQL jugando con las variables de entrada. Filtrando valores numéricosPara limpiar valores numéricos podemos usar JRequest de la siguiente manera:
Una vez hecho esto ya podemos usar los valores numéricos para construir nuestra sentencia SQL sin temor de que alguien modifique intencionalmente nuestra base de datos. En general, el objeto JRequest es recomendable usarlo adecuadamente siempre que obtenemos datos de los arrays de entrada, esto evitará posibles disgustos con los "chicos malos". Evitando el Cross-Site Request Forgery (CSRF)El CSRF es una debilidad del software muy común y muy poco tomada en cuenta por desarrolladores noveles. index.php?option=com_micomponente&task=delete&id[]=4 Una llamada a la anterior URL borraría el elemento con ID 4 de mi componente. Imagina que ahora alguien toma control de tu ordenador y se dedica a enviar URLs de este tipo con tu ordenador sin que te enteres, o alguien coloca una URL maliciosa en un foro con el "anchor text" pulsa aquí, pero que realmente está apuntando a la dirección anterior. En definidas cuentas, no podemos confiar en que un usuario logueado es un usuario confiable, porque no siempre va a ser el usuario en sí quien realice estas peticiones HTTP. Una posible solución a esto, y muy recomendable, es bajar el tiempo de sesión para que expire en un lapso de tiempo cuanto más pequeño mejor y, además, evitar navegar por internet mientras uno está logueado en el sistema Joomla. A continuación un ejemplo: <form method="post">Task que recoge el formulario
Si usamos el método GET, el código para crear el token es el siguiente:
De esta forma evitaremos que alguien se aproveche de nuestra sesión para enviar peticiones HTTP maliciosas.
Trackback(0)
Comentarios (0)
![]() Escribir comentario
|
Gerard Martinez
Maite Mercader
Pablo Velasco
David Noguera
Lucas Guardino
Nuria Durán
Jorge Sala
Yolanda Leiva| Como insertar el mapa de Google Maps en Joomla! |
En el vídeo que mostramos en este artículo explicamos como dar de alta un negocio en Google Maps y luego insertar el mapa en Joomla!. La realización de ambos pasos es importante para sitios webs que son un negocio o similares, ya que cumplen un doble objetivo: - Alta en Google Maps, con lo que conseguimos un enlace al sitio web creado y nos ayudará a nivel de resultados en los buscadores. - Inserción del mapa en el sitio web, dotamos al mismo de la interactividad propia que nos ofrece la herramienta de Google Maps y permite de una manera rápida tener un mapa interactivo, y no usar mapas que son una simple imagen o realizados en flash que no permiten una fácil modificación por el administrador de la página a menos que domine las herramientas de Retoque Fotográfico o de creación de archivos Flash. |
| Leer más... |
Soporte :
Diseño Web:|
¿Información comercial? |