Cambiar la codificación de archivos de ISO-8859-1 a UTF-8

Hace un rato he tenido que cambiar la codificación de un buen número de programas de un cliente que tenía hechos en PHP con codificación ISO-8859-1 a codificación UTF-8. En entornos Linux se dispone de un comando muy útil para estas tareas, iconv.

El siguiente ejemplo muestra cómo cambiar la codificación del archivo oldfile.htm de ISO-8859-1 a UTF-8, dejando el archivo resultante con el nombre newfile.html.

iconv --from-code=ISO-8859-1 --to-code=UTF-8 ./oldfile.htm > ./newfile.html

Si lo que necesitamos es cambiar la codificación de varios archivos sustituyendo los archivos originales, podemos utilizar la instrucción for de Bash

for i in *.php; do iconv --from-code=ISO-8859-1 --to-code=UTF-8 $i -o $i.utf8; mv $i.utf8 $i; done

El Archivo Zip de la muerte – 42.zip

42.zip es un archivo zip de 42.374 bytes, contiene 16 archivos zips que a su vez contienen otros 16 zips y así hasta 6 veces. Los 16 últimos zips contienen un archivo de 4,3 Gb cada uno. Si descomprimimos el archivo 42.zip de 42.374 bytes obtendriamos 4.5 Pb de datos descomprimidos.

  • 16 x 4294967295 = 68.719.476.720 (68GB)
  • 16 x 68719476720 = 1.099.511.627.520 (1TB)
  • 16 x 1099511627520 = 17.592.186.040.320 (17TB)
  • 16 x 17592186040320 = 281.474.976.645.120 (281TB)
  • 16 x 281474976645120 = 4.503.599.626.321.920 (4,5PB)

Este tipo de archivos se denominan Zips de la muerte o Zips bomba y suelen usarse como herramienta para ataques DoS.

PD:  hay que ver como una cosa tan pequeña te puede joder el servidor enterito 😀 , así que pequeños sysadmins tener muy definidas las reglas de cuotas de disco con sus respectivas alertas a vuestro email 😀
raiola manda y no el panda

Funciones a deshabilitar en php.ini – Tips para securizar php

Y es que, cada vez se ven mas destrozos a causa de las webs mal hechas (o poco actualizadas) en php . Que si postnuke, que si phpnuke, phpbb, mybb y un larguisimo etc. Ya que esto es un dolor de cabeza para cualquier sysadmin, algo a tener en cuenta es el deshabilitar ciertas funciones de php en el php.ini, y el que las quiera.. que las habilite en el .htaccess de su virtualhost bajo su responsabilidad, no? Empezamos:

Editamos fichero de configuración de PHP php.ini

#vi /etc/php.ini

buscamos la linea que contiene disable_functions. Posiblemente tenga un ; delante, que sirve para inutilizarla. Eliminamos el ; y dejamos la linea de esta forma:

disable_functions = system, exec, popen, passthru, shell_exec, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate

Asi, nos cargamos unas cuantas funciones peligrosas que a mas de uno le han dejado sin dormir.

Por otro lado, es de esperar el estar atentos a cosas como el safe_mode, allow_url_fopen y demas… pero creo que eso ya lo puse en otro post anterior 🙂

The Linux Command Line – Ebook

The Linux ® Command Line es un libro publicado bajo licencia Creative Commons creado por William E. Shotts, Jr especialmente para aquellos que se están iniciando en el mundo de la línea de comandos Linux.

En sus 522 páginas se cubre el mismo material disponible en LinuxCommand.org pero con mucho más detalle. Además de lo básico de la línea de comandos se enseña el shell scripting y el uso de los programas más comunes de la línea de comandos Linux.

Podéis descargar el libro a través de este Link.

http://sourceforge.net/projects/linuxcommand/files/TLCL/09.12/TLCL-09.12.pdf/download

Web oficial de el libro. http://linuxcommand.org/