Configurar e instalar PHP 7, Apache server y MySQL en Windows 10

Introducción Si queremos desarrollar para PHP, y conectarlo con un motor de base de datos como es MySQL necesitamos instalar a ambos, y finalmente a un servidor que escuche las peticiones y las procese mediante PHP. Pues bien, por eso es que existe un paquete todo en uno que trae principalmente a estas tres herramientas, y adicionalmente algunas otras como phpmyadmin, filezilla server, etcétera. De lo que hablo es de XAMPP y en este post explicaré cómo instalarlo, configurarlo y establecerlo como servicio para que tanto el demonio de Apache y de MySQL estén siempre encendidos. Nota: este tutorial fue hecho sobre Windows 10 en 64 bits, pero lo he probado tanto en Windows 7 como en Windows 8.1 (con todas las actualizaciones). ...

diciembre 11, 2017 · 4 min · 725 palabras · Parzibyte

Cadena aleatoria en PHP

Introducción A veces nos veremos en la necesidad de generar caracteres aleatorios o una cadena o string aleatoria. También puede que necesitemos generar algún NIP o dígitos al azar. Es por eso que aquí traigo estas funciones que pueden servirnos en un apuro. Nota importante: si vas a usar estas funciones para fines seguros o criptográficamente seguros entonces utiliza random_int en lugar de rand. ...

noviembre 28, 2017 · 3 min · 550 palabras · Parzibyte

Tomar foto con Javascript y cámara para guardarla en servidor PHP

Nota: ya hay una versión 3 de este código. En ese nuevo post explico cómo dar la posibilidad de que el usuario cambie la cámara, además de que introduzco otras mejoras y actualizaciones. Míralo aquí. Nunca imaginé que algún día se podría tomar una foto y guardarla en un servidor usando código nativo de Javascript y la cámara del dispositivo. Eso abre un mundo de posibilidades que permite a nuestras aplicaciones tener más características. Hoy mostraré aquí un pequeño tutorial que nos permitirá tomar una simple foto y subirla a un servidor que tendrá PHP. No se usará ningún framework, ni de Javascript ni de PHP. Nota: debido a que vamos a tomar una foto con la cámara, debemos servir nuestra app en localhost (para hacer pruebas locales) o en un servidor con https. Es decir, nuestro código debe estar en un servidor con un certificado SSL, o corriendo en nuestra máquina. Si te gusta programar en Python, te invito a leer cómo tomar una foto de la cámara web, utilizando Python. ...

noviembre 23, 2017 · 7 min · 1307 palabras · Parzibyte

Cifrando y comprobando contraseñas en PHP

Introducción Es una buena práctica (y algo que debemos hacer todos) cifrar las contraseñas si las vamos a guardar en una base de datos. También es importante hacerlo con un algoritmo de un solo camino; es decir, que se pueda cifrar pero que nunca se pueda hacer el proceso inverso. ¿Por qué cifrarlas, si mi base de datos está protegida? Recordemos que la seguridad absoluta no existe y que siempre estamos propensos a un ataque de cualquier tipo, así que hay que proteger cada cosa individualmente. ...

noviembre 14, 2017 · 4 min · 762 palabras · Parzibyte

Proteger, controlar y restringir acceso a imágenes usando PHP y Apache

Introducción En este artículo mostraré cómo podemos proteger nuestras imágenes o fotos usando PHP para que sólo en casos específicos se puedan ver. Usaremos la configuración de Apache para restringir el acceso (para que no puedan acceder a ejemplo.com/imagenes/imagen_secreta.png). PHP será utilizado para leer ese archivo y mostrarlo sólo si se debería. Preparando archivos para trabajar En nuestro entorno de trabajo de PHP (en htdocs si estás usando xampp) crearemos una carpeta llamada “probar_fotos”. Dentro de ella crearemos un archivo index.php y otra carpeta llamada img. Dentro de esta última carpeta pondremos algunas imágenes de nuestra elección (no importa el formato ni calidad) y un archivo llamado .htaccess. ...

noviembre 8, 2017 · 5 min · 943 palabras · Parzibyte

Objetos anónimos en PHP

Introducción De todos los lenguajes que he manejado, siempre me ha gustado Javascript; porque es muy flexible y simple. No necesitas escribir 500 líneas para decir Hola mundo, ni necesitas un compilador. Sólo necesitas un editor de texto (incluso el bloc de notas) y un navegador web. Si necesitamos un objeto anónimo, que no dependa de una clase (porque, ¿para qué escribir una clase si sólo vas a instanciar un objeto?) podemos definirlo así: ...

noviembre 1, 2017 · 2 min · 416 palabras · Parzibyte

(429) Too Many Requests Laravel - Solución y explicación

Introducción Cuando estamos consumiendo una api creada con Laravel, puede que nos aparezca el error que dice “(429) Too Many Requests”. Aquí explicaré por qué pasa y qué solución tenemos para ello. Básicamente esto aparece porque estamos haciendo muchas peticiones en un corto periodo de tiempo; por ejemplo, hacer 100 peticiones en menos de un minuto. Es una forma que tiene Laravel para protegernos. Ya que de esta forma bloqueamos el acceso a un usuario malicioso que haga miles de peticiones para que nuestro servidor caiga. Si pasa el límite, sólo se le responderá con el código http 429. ...

octubre 30, 2017 · 2 min · 301 palabras · Parzibyte

Cuidado con las rutas de Laravel

Introducción Las rutas de Laravel son una gran herramienta que nos permite construir una api rápidamente, y de forma fácil y eficaz. Simplemente tenemos que definir una ruta así: <?php Route::get("/usuarios", "UsuariosController@todos"); ?> Para después poder consumirla con una petición get a sitio.com/api/usuarios (por ejemplo). De esta manera nos evitamos parsear la ruta y muchas cosas que son laboriosas. También podemos definir una ruta para que coincida con variables. Por ejemplo, la siguiente ruta muestra las ventas de algún año: ...

octubre 9, 2017 · 3 min · 564 palabras · Parzibyte

Generar fechas aleatorias en un rango usando PHP y mt_rand

Tal vez en alguna ocasión tengamos que generar fechas aleatorias en PHP. En este post explicaré resumidamente cómo podemos hacerlo. PHP tiene la función date que toma como primer argumento el formato (por ejemplo Y-m-d nos daría algo como 2017-01-25) y como segundo (opcional) el número de milisegundos de los que queremos que nos devuelva la fecha. ...

septiembre 19, 2017 · 3 min · 634 palabras · Parzibyte

Generar nombres aleatorios en PHP

Hace poco hice un post para generar fechas aleatorias. Ahora se me ocurrió hacer uno para generar nombres de personas de manera aleatoria. Es un método poco eficaz y requiere que nosotros pongamos los datos, pero es lo único que se me ocurre. Si queremos algo que sea más fácil que esto, podemos echarle un ojo a Faker, una librería para generar muchos datos de todos los tipos… fechas, nombres, html, números de teléfono, números, etcétera. ...

septiembre 19, 2017 · 3 min · 617 palabras · Parzibyte