- Limitar los accesos fallidos.
- Migración gradual con PHP.
- Paginación con Paginator.
- Actualizar datos de una tabla.
- Borrar datos de una tabla.
- Búsquedas con LIKE en bases de datos.
- Ordenar arrays PHP.
- Búsquedas FULLTEXT en MySQL.
- Tamaño de una BD MySQL.
- Contar resultados de una consulta.
Ya hemos presentado dos formas de proteger nuestros sitios Web, una, los sistemas antispam, otra, el bloqueo de IP. Y como sabemos, los sistemas antispam pueden ser violados, y frente al bloqueo de IP, los ciberatacantes pueden cambiar de IP usando por ejemplo conexiones VPN. Esta última precisa una constante supervisión, si no es así, pues… Ahora vamos a ver cómo enfrentarnos a los ataques de fuerza bruta limitando el número de veces que se puede realizar una acción.
Para migrar un sitio Web recurrimos al todopoderoso archivo .htaccess, y si, es una gran forma de hacerlo válida para la inmensa mayoría (por no decir la totalidad) de los casos. Pero qué ocurre si no queremos migrar la Web completa y nos resulta arriesgado estar continuamente modificando el .htaccess, si queremos ir migrando por ejemplo, artículos concretos de nuestro blog cada X tiempo. De esto nos ocuparemos en este artículo dedicado a SEO.
Ya hemos visto cómo hacer una paginación básica usando LIMIT, ahora vamos a ver un método de paginación más elaborado, casi perfecto (por no decir perfecto) que nos permitirá varias opciones como el número de resultados por página, el número de enlaces de paginación o asignar un estilo a los enlaces de paginación. También hará un recuento de los resultados de cada consulta.
Una vez que ya tenemos registros en nuestra base de datos, lo siguiente será modificar estos, los motivos para ello pueden ser muchos, desde un apellido con un error ortográfico, haber cambiado el número de teléfono, cambiar una clave…, las opciones son muchísimas. De esta tarea tan fundamental como cotidiana nos ocuparemos en este artículo presentando dos opciones entre las múltiples posibles.
En nuestras bases de datos a menudo se generan registros sin valor, registros estos que solo hacen sobrecargar nuestra base de datos de manera inútil. En casos así, debemos proceder a eliminar los registros no válidos, lo que podemos hacer de manera individual, en grupo e incluso dejar la tabla completamente vacía. En este artículo veremos como debemos proceder y que precauciones debemos tomar cuando nos enfrentamos a este tipo de situaciones.
Cuando nuestro sitio Web alcanza un cierto volumen de contenidos se hace necesario un buen buscador. Esto no solo nos facilita el acceso a contenidos específicos, también, y como consecuencia directa, se reduce la tasa de rebote, un factor SEO muy importante. Por otro lado, no todo son los contenidos propiamente dichos, un sitio Web también es un sistema de gestión, lo cual implica poder localizar, por ejemplo, usuarios rápidamente.
Como ya se comento en su momento, los array es un tipo de variable que contiene un conjunto de datos. Se puede decir que los arrays tienen dos partes, una es la clave o key, y la otra es el valor o value. Las claves y valores pueden mantener relación o no mantenerla de cara a establecer un orden de los elementos. De eso nos ocuparemos en este capitulo.
Ya hemos visto una forma de realizar búsquedas en nuestra base de datos con LIKE, y también hemos visto que si no hay algún tipo de coincidencia exacta, no hay resultados para la búsqueda. Ahora, veremos como realizar lo que podríamos llamar una búsqueda “semántica”, es decir, lo mas parecido a como realizan las búsquedas Google, Bing y otros grandes buscadores. Pero no nos quedaremos solo en eso, montaremos LIKE y FULLTEXT en la misma página para así tener el buscador “perfecto”.
Con este artículo vamos a finalizar el curso de MySQL, y para ello vamos a presentar un código muy importante para llevar el control de cómo evoluciona nuestro sitio Web. Conocer el tamaño de nuestra base de datos y sus respectivas tablas es muy importante, en este artículo veremos cómo hacerlo y cómo podemos enviar avisos cuando el volumen de nuestra base de datos o tablas específicas alcancen cierto tamaño.
Una de las tareas más comunes en MySQL es el recuento de resultados de una consulta, y ya hablamos de la importancia de minimizar el consumo de recursos en las acciones sobre bases de datos. En este capitulo vamos a ver dos formas de contar resultados y veremos la diferencia entre mysqli_num_rows() y COUNT().