Leer archivo de texto con PHP

En este post te voy a mostrar dos maneras fáciles de leer archivos de texto con PHP usando la función file_get_contents en el primer ejemplo, y combinando otras funciones en el segundo.

Recuerda que un archivo de texto tiene normalmente la extensión txt, pero mientras sea un archivo de texto plano puede tener cualquier extensión.

El segundo ejemplo que te muestro va a leer el archivo por pedazos a través de un búfer; esto es útil si queremos leer un archivo muy grande.

(más…)

Leer archivo de texto con Go

En este post voy a explicar cómo leer el contenido de un archivo de texto usando Go. Es decir, obtener todo el contenido del archivo y pasarlo a una variable de tipo cadena o string.

De esta manera, se podrá imprimir el contenido de un archivo fácilmente. Se especifican dos formas: una en donde se lee todo el contenido de un archivo, y otra en donde, a través de un búfer, se leen fragmentos o bytes del archivo; especialmente cuando se trata de archivos o ficheros grandes.

(más…)

Desbordamiento de búfer en C

Hoy veremos lo que es un desbordamiento de búfer en C y cómo puede (en su forma más simple) hacer que un usuario aproveche esa vulnerabilidad para explotar nuestro programa.

Nota: esto es diferente a cuando se desborda una variable.

Lo que es un desbordamiento de búfer

Según la Wikipedia:

En seguridad informática y programación, un desbordamiento de búfer (del inglés buffer overflow o buffer overrun) es un error de software que se produce cuando un programa no controla adecuadamente la cantidad de datos que se copian sobre un área de memoria reservada a tal efecto (buffer): Si dicha cantidad es superior a la capacidad preasignada, los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original, que probablemente pertenecían a datos o código almacenados en memoria. Esto constituye un fallo de programación.

En otras palabras le da al usuario de nuestro programa la forma de sobrescribir una variable a su antojo; bueno, no siempre y no tan fácil, pero alguien con tiempo puede encontrarlas y explotarlas.

Esto es peligroso en programas que se van para producción, por ejemplo un sistema de la apertura de una puerta o cosas de esas que tienen que ver con la seguridad.

(más…)