Ejemplo simple de RewriteRule con .htaccess y PHP

Actualmente estoy trabajando (he comenzado hoy) en un proyecto de PHP para acortar enlaces y hacer el seguimiento de los mismos, algo como un bitly de forma muy simple.

El punto es que voy a usar URLs amigables y hacer que el id de los enlaces sean cortos, así que en lugar de usar algo como:

parzibyte.me/acortador/link.php?id?123456

Usaré el RewriteRule de Apache para hacerlo así:

parzibyte.me/acortador/123456

Fíjate en la diferencia, cambió de link.php?id=123456 a /123456. Para ello he usado el archivo .htaccess. Te mostraré cómo lo hice, es un ejemplo muy simple pero te ayudará a entender.

Por cierto, ya que hablamos de acortadores, he hecho un software similar pero es para generar ingresos usando acortadores de esos que pagan por visitas.

(más…)

Proteger directorio raíz de Laravel

En este post te mostraré cómo proteger el directorio de una aplicacón web de Laravel para evitar que un usuario acceda al archivo .env o a otros archivos.

Como sabes, cuando usas Apache para servir una app de Laravel, se puede acceder a todo el proyecto desde la web, no solo al directorio public. Por lo tanto, cualquier usuario podría acceder al archivo .env o a otros.

Es por eso que veremos cómo proteger una app de Laravel servida por Apache; ya que si, por ejemplo, la sirves usando artisan serve o con algo como Homestead, este paso no es necesario.

(más…)

Bloquear IP con Apache

Bloquear IP con Apache server

En este artículo te muestro cómo denegar el acceso completo a tu sitio web a un usuario con el solo hecho de saber su IP, utilizando el servidor web apache o apache web server.

Bloquear el acceso a un sitio web según la IP del cliente permite bloquear visitantes maliciosos o bots. Eso sí, recuerda que pueden cambiar su IP así que puedes combinar esto con un captcha.

Bueno, veamos cómo usar apache y el archivo .htaccess para degenar el acceso a determinada ip.

(más…)

Configurar apache para servir archivos wasm

Al probar WebAssembly en un servidor apache instalado con XAMPP e intentar cargar un archivo con extensión wasm aparecía el siguiente error:

Uncaught (in promise) TypeError: Failed to execute ‘compile’ on ‘WebAssembly’: Incorrect response MIME type. Expected ‘application/wasm’

Esto es porque Apache no sabe de qué tipo son los archivos wasm, y no los sirve con el MIME correcto.

Vamos a ver dos soluciones a esto.

(más…)

Carpeta pública para ejemplificar control con Apache Web Server

Denegar y proteger acceso a carpetas y archivos con Apache y htaccess

Controlar acceso a carpetas y archivos dependiendo de extensión

Apache sirve para muchísimas cosas, no podría enlistarlas ahora, es toda una rama de la informática. Normalmente este web server se utiliza en conjunto con PHP, pero además de ello, sirve archivos y directorios.

Por eso es que hoy veremos cómo restringir el acceso a algunas carpetas usando Apache, y también a servir únicamente determinados archivos con alguna extensión.

Nota: si quieres un acceso más “inteligente” mira el post en donde se fuerza la descarga de archivos con PHP, pues podrías servir directorios o ficheros con PHP.

(más…)

Habilitar archivos htaccess en Apache: configuración de servidor

Introducción Por defecto, el servidor web Apache no permite la sobrescritura de configuraciones. Es decir, ignorará todos los archivos .htaccess que pongamos en nuestros directorios. Veremos hoy cómo habilitar archivos htaccess en Apache y de esta manera poder configurar directorios por separado, sacrificando un poco el rendimiento. Leer archivos .htaccess Leer más…