bienvenidos

La Única Fuente del Conocimiento es la Experiencia -Albert Einsten.

martes, 30 de octubre de 2018

Archivos .htacces y .gitignore

¿Qué es el archivo .htaccess? 
El archivo .htaccess (hypertext access) es un archivo de configuración muy popular en servidores web basados en Apache que permite a los administradores aplicar distintas políticas de acceso a directorios o archivos con la idea de mejorar la seguridad de su página web y, por tanto, evitar acceso a terceros. Cuando visitamos una página web cualquiera y pulsamos sobre un enlace o queremos descargarnos un archivo, en el proceso de trámite de la petición, el servidor web consulta el archivo .htaccess con la idea de aplicar las directivas y restricciones definidas antes de cursar la petición y, lógicamente, cancelar peticiones que se encuentren prohibidas dentro de este archivo (cuyo ámbito de actuación es el directorio en el que se encuentra y todos los subdirectorios que se encuentran por debajo de éste).
Resultado de imagen para .htaccess
¿Y qué podremos controlar con este archivo? 
Gracias a este archivo podremos configurar nuestro servidor web para hacerlo algo más seguro pero, además, también podremos realizar re direcciones, crear mensajes de error personalizados, restringir el acceso a carpetas, evitar el listado de directorios de nuestro servidor o permitir el uso de nuestro dominio sin usar las famosas ‘www’.
Poniendo el foco en la seguridad, vamos a dedicar unos minutos a revisar algunos puntos que deberíamos tener en cuenta a la hora de configurar nuestro servidor web:
·        Proteger archivos y carpetas importantes

·        Evitar el hotlink

·        Restringir el acceso por IP y luchar contra el spam

Fuente : https://hipertextual.com/archivo/2012/07/archivo-htaccess-apache/

 

Por qué usar gitignore

Piensa que no todos los archivos y carpetas son necesarios de gestionar a partir del sistema de control de versiones. Hay código que no necesitas enviar a Git, ya sea porque sea privado para un desarrollador en concreto y no lo necesiten (o lo deban) conocer el resto de las personas. Pueden ser también archivos binarios con datos que no necesitas mantener en el control de versiones, como diagramas, instaladores de software, etc.
El ejemplo más claro que se puede dar surge cuando se trabaja con sistemas de gestión de dependencias, como npm, Bower, Composer. Al instalar las dependencias se descargan muchos archivos con documentos, tests, demos, etc. Todo eso no es necesario que se mantenga en el sistema de gestión de versiones, porque no forma parte del código de nuestro proyecto en concreto, sino que es código de terceros. Si Git ignora todos esos archivos, el peso total de proyecto será mucho menor y eso redundará en un mejor mantenimiento y distribución del código.
Otro claro ejemplo de uso de gitignore son los archivos que crean los sistemas operativos automáticamente, archivos que muchas veces están ocultos y no los vemos, pero que existen. Si no evitas que Git los procese, estarán en tu proyecto como cualquier otro archivo de código y generalmente es algo que no quieres que ocurra.

Implementar el gitignore

Como hemos dicho, si algo caracteriza a gitignore es que es muy fácil de usar. Simplemente tienes que crear un archivo que se llama ".gitignore" en la carpeta raíz de tu proyecto. Como puedes observar, es un archivo oculto, ya que comienza por un punto ".".
Nota: Los archivos cuyo nombre comienza en punto "." son ocultos solamente en Linux y Mac. En Windows los podrás ver perfectamente con el explorador de archivos.
Dentro del archivo .gitignore colocarás texto plano, con todas las carpetas que quieres que Git simplemente ignore, así como los archivos.
La notación es muy simple. Por ejemplo, si indicamos la líneabower_components/ Estamos evitando que se procese en el control de versiones todo el contenido de la carpeta "bower_components".
Si colocamos la siguiente línea: *.DS_Store Estaremos evitando que el sistema de control de versiones procese todos los archivos acabados de .DS_Store, que son ficheros de esos que crea el sistema operativo del Mac (OS X) automáticamente.