SQL Injection en MySQL ¿Qué es y cómo evitarlo?

Cuando hablé sobre los ataques de Black Hat SEO, os conté muy por encima que es un ataque por SQL Injection. Pues hoy vamos a ver una forma de evitarlos. ¿Qué es un ataque por Inyección SQL? Con un ataque de este tipo lo que intentan es conseguir la información que almacenamos en nuestra base de datos, modificarla o incluso eliminarla. Para ello localizan archivos a los que les pasamos variables a través de GET o POST. Vamos a ver un ejemplo, si tenemos un archivo con una query de este estilo: &query=’DELETE * FROM noticias WHERE id=”‘.$_GET[‘id’].'”‘; En un…

Leer más

MYSQL: Campos de varias tablas en la misma query

SELECT DISTINCT tabla1.campo1, tabla2.campo2 as nuevonombre, tabla3.campo3 FROM tabla1, tabla2, tabla3 WHERE tabla1.campo1=tabla3.campo1 ORDER BY tabla2.campo2 Muchas veces necesitamos seleccionar información de diversas tablas para poder trabajar, pero como nos gusta ahorrar código pasamos de hacer varias querys, si podemos utilizar sólo una. En el ejemplo de arriba muestro cómo utilizar un select de distintas tablas. Cosas a tener en cuenta: – Siempre tenemos que indicar antes del nombre del campo, el nombre de la tabla en la que se encuentra, separados por un punto. Ejemplo: tabla1.campo1 – En el FROM deberán estar todas las tablas utilizadas. – Podemos asignar…

Leer más

Sentencias MYSQL: LIMIT 5,10

SELECT * FROM table LIMIT 5,10 Con la sentencia anterior podemos seleccionar 10 elementos de la tabla “table” empezando por el número 6 e ignorando los 5 primeros. Usease que si tenemos 20 elementos habremos seleccionado del 6 al 15. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 y 20. Si añadimos como segundo parámetro de LIMIT un numero suficientemente grande seleccionará todos los elementos a partir del indicado, en el ejemplo anterior 6. Recordad también que si usamos LIMIT con un sólo parámetro, estaremos cogiendo sólamente los 8…

Leer más

MYSQL: Mostrar, añadir, modificar o eliminar datos con php

Ahora que ya sabemos como crear una base de datos, una tabla y un campo en mysql vamos a darle un poco de vidilla con mi querido php. Conectar con la base de datos Lo primero que tenemos que hacer es conectar con la base de datos, para ello crearemos una función, así nos ahorramos un poco de código, y ya que estamos creamos también la función para desconectar. function Conectar(){ $link = mysql_connect(“servidor”,”usuario”,”contraseña”); return $link; } function Desconectar($link){ mysql_close($link); } Acordaros de cambiar los parámetros servidor, usuario y contraseña, por los vuestros. Realizar una consulta a una tabla Para…

Leer más

MYSQL: Crear una base de datos, una tabla y un campo.

Si sabes algo de php, cuando aprendas mysql vas a sentir un verdadero gustazo (más o menos como el de mediamarkt xD), o al menos eso me pasó a mí cuando descubrí todas las oportunidades que me dan las Bases de Datos (BD) para incluir a webs. Guardar información para luego relacionarla entre sí consiguiendo hacer presupuestos online, crear tu propio sistema de noticias, guardar datos de los visitantes a tu web para generar estadísticas,.. y así muchas cosas más, con un poco de ingenio seguro que se te ocurren muchas aplicaciones. Para quien está aprendiendo PHP, pero aún no…

Leer más