A.- Bloque 1
1 2 3 4 5 | AddHandler cgi-script .pl .cgi Options +ExecCGI +FollowSymLinks Header always unset X-Powered-By php_flag output_buffering Off Options -Indexes |
Sin embargo, hay una advertencia crucial: En InfinityFree, la mayoría de estas directivas serán ignoradas o causarán un error 500. Esto se debe a que, en entornos de hosting compartido gratuito, el servidor está configurado con permisos muy restrictivos («bloqueados») para evitar que los usuarios ejecuten scripts peligrosos.
B.- Desglose técnico de lo que hace cada una:
1. AddHandler cgi-script .pl .cgi
- Qué hace: Indica al servidor que los archivos con extensión
.pl(Perl) y.cgi(Common Gateway Interface) deben ser tratados como scripts ejecutables y no como archivos de texto plano. - Contexto: Se usa para habilitar aplicaciones antiguas o scripts escritos en Perl.
- En InfinityFree: Bloqueado. El servidor no permite la ejecución de scripts CGI personalizados por seguridad.
2. Options +ExecCGI +FollowSymLinks
+ExecCGI: Autoriza al servidor a ejecutar scripts CGI en este directorio.+FollowSymLinks: Permite que el servidor siga enlaces simbólicos (archivos que apuntan a otros archivos fuera de la carpeta). Es útil para librerías compartidas.- En InfinityFree: Bloqueado. El uso de
+ExecCGIen.htaccessestá prohibido por defecto.FollowSymLinkssuele estar activo globalmente, pero no puedes modificarlo mediante.htaccess.
3. Header always unset X-Powered-By
- Qué hace: Elimina de las cabeceras HTTP la información sobre qué tecnología está ejecutando el sitio (por ejemplo,
X-Powered-By: PHP/8.x). - Contexto: Es una medida de seguridad por ocultación. Si un atacante no sabe exactamente qué versión de PHP usas, le es un poco más difícil buscar exploits específicos.
- En InfinityFree: Posiblemente permitido. Esta directiva requiere el módulo
mod_headers. Si el servidor lo tiene cargado, funcionará correctamente.
4. php_flag output_buffering Off
- Qué hace: Desactiva el buffer de salida de PHP. Normalmente, PHP guarda en memoria lo que el script genera hasta completar una cantidad definida antes de enviarlo al navegador. Al ponerlo en
Off, PHP envía los datos al navegador tan pronto como se generan (útil para scripts que tardan mucho tiempo y quieres ver progreso en tiempo real). - En InfinityFree: Bloqueado. Los cambios de configuración de PHP mediante
.htaccess(comophp_flagophp_value) suelen estar restringidos. Si intentas usar esto, probablemente recibirás un «Internal Server Error 500».
5. Options -Indexes
- Qué hace: Impide que el servidor genere automáticamente una lista de archivos cuando un visitante intenta acceder a una carpeta que no tiene un archivo
index.phpoindex.html. - Contexto: Seguridad pura. Si no tienes esto activo y alguien entra a
/wp-content/uploads/, podría ver todos tus archivos listados en una tabla simple. - En InfinityFree: Permitido. Es una práctica estándar y segura que no compromete la estabilidad del servidor.
¿Cómo deberías proceder en InfinityFree?
Si tu objetivo es mejorar la seguridad y el rendimiento, te sugiero reemplazar esto por un enfoque más compatible:
- Seguridad: Mantén únicamente
Options -Indexes. - Ocultar Cabeceras: En lugar de
Header always unset, usa Cloudflare (que puedes conectar con InfinityFree). Cloudflare tiene una opción de «Scrub Headers» que limpia información técnica de forma mucho más eficaz sin tocar tu.htaccess. - Configuración PHP: Olvida
php_flagyAddHandler. En este tipo de hostings, la configuración de PHP es fija.
Nota importante: Si al subir un archivo .htaccess con estas directivas tu sitio deja de cargar y muestra un error 500, borra el archivo y vuelve a subirlo eliminando las líneas 1, 2 y 4.
| Video 1: Apache HTACCESS |
| Video 2: Apache HTACCESS |
