Publi

  • Operaciones básicas con cadenas en C++: capitalización, conversiones, recorte, recorrido y más

    Como ha sucedido con otros lenguajes, C++ también ha evolucionado. Ha madurado mucho desde aquellos códigos que programábamos hace años y se nota. Por un lado, podemos pensar que al sumar abstracción en ciertos aspectos nos separa de la máquina y hace nuestro código más lento. Suma comprobaciones, hace más callbacks y en definitiva, una sencilla tarea que completaba en pocos cientos de operaciones, ahora son pocos miles. Aunque en su favor, podemos decir que aquello que programábamos en 15 o 20 líneas de código se ha reducido a una o dos, reduciendo así los puntos de ruptura, posibles bugs y calentamientos de cabeza futuros.… Leer artículo completo

  • Poesía Binaria os desea ¡Felices fiestas! Y un pequeño juego :)

    navidad 2016
    Tenía que hacer honor al nombre del blog y estas fiestas no iban a ser menos. Hoy os traigo un mensaje encerrado en el árbol y os propongo un juego: para contestar al mensaje, debéis hacerlo de la misma forma en la que está codificado el mensaje.

    0
    100
    011001
    100101011
    011000110100
    101111010001000
    00011011100
    11000010111011
    00110100101100100
    01100001011001000010
    00000110010001100101011
    100110110010001100101001000
    00011001010110110000
    10000001100010011011000
    11011110110011100100000010
    10000011011110110010101110011
    0110100101100001001000000100001
    0011010010110111001100001011100100
    11010
    01011
    00001

    Leer artículo completo
  • Pasa tu web a HTTPS utilizando Let’s encrypt manual o automáticamente, tú decides

    photo-1461685265823-f8d5d0b08b9b

    La web no fue diseñada pensando en la seguridad, es decir, la comunicación se realiza de forma plana y cualquiera que pueda pinchar la línea puede ver los mensajes que pasan, el origen y el destino, y no hace falta ser un crack, sólo instalar un programa como Wireshark. Afortunadamente ahora tenemos HTTPS, es el mismo protocolo web, pero utilizando una capa de seguridad que cifra la comunicación entre las dos partes (nuestro navegador y el servidor) y hace que sea muy complicado que alguien que pueda interceptar la comunicación sepa qué estamos hablando.… Leer artículo completo

  • Primeras decisiones para crear tu tienda online con WooCommerce

    photo-1441984904996-e0b6ba687e04_2
    Hoy en día, si queremos montar una tienda online tenemos un mundo de posibilidades. Lo primero será decidir si la vamos a montar nosotros o vamos a recurrir a una empresa o a personal especializado para ello. Todo depende del tiempo, dinero y conocimientos que tengamos para ello y de lo sinceros que hayamos sido con nosotros mismos en esos tres factores.
    Como primera posibilidad, empezaré por la más dura, programar nuestra tienda, a mano, como unos valientes que somos y llevamos toda la vida programando o al menos el número de horas que hemos programado en nuestra vida se acerca a las 6 cifras (10h al día durante unos 11 años), aún así, seguramente nos basemos en algún framework para nuestro lenguaje de servidor preferido.… Leer artículo completo

  • ¿Cómo funcionan los WebSockets? Comunicación bidireccional en tiempo real con el navegador web

    photo-1434396505260-9ec0d6491795

    Internet poco a poco va haciéndose más y más grande. A medida que crecen sus usuarios y dispositivos conectados lo hacen las necesidades de los mismos, y de los servicios que ofrece. Hoy vamos a meternos con los WebSockets. Este sistema se utiliza para hacer una comunicación bidireccional y persistente entre un cliente y un servidor web. Pero, ¿para qué queremos esto?

    Un poco de background

    Para realizar una comunicación entre un cliente web (navegador) y un servidor web (cualquier programa que sea capaz de enviar información coherente a un navegador) se utiliza el protocolo HTTP (por debajo utiliza TCP/IP y muchas más cosas, pero no profundizaremos tanto).… Leer artículo completo

  • Cómo cifrar archivos con OpenSSL y con par de claves pública y privada. Varios métodos, paso a paso

    photo-1458419948946-19fb2cc296af

    Si queremos aumentar la seguridad del cifrado de archivos con OpenSSL. En lugar de utilizar una contraseña plana como se indica en el post anterior podemos utilizar un par de claves pública y privada para este cifrado. De estar forma, por un lado podemos ahorrarnos (si queremos) el tener que recordar una contraseña segura, y por otro ganar en seguridad, ya que las contraseñas, al fin y al cabo terminan siendo poca cosa.… Leer artículo completo

  • ¿ Por qué debemos trabajar en la seguridad hasta de un servidor de pruebas ?

    photo-1452782644016-16dd1931b279_r

    Esta historia sucedió a finales de 2014, mientras probaba la estabilidad y configuración de algunos programas en un servidor antes de llevarlos al servidor de producción. Como era un servidor de pruebas, y los datos que manejaba no eran privados, decidí no hacer nada para su seguridad. Es decir, usé contraseñas muy sencillas, firewall desactivado y todo con la configuración por defecto.

    Pruebas antes de utilizar en producción

    En general, esto es lo recomendable.… Leer artículo completo

  • Cómo añadir un nuevo certificado raíz a nivel de sistema

    photo-1420768797814-f484a81f6be0_red0

    Es muy común si montamos algún servicio privado (como instalar un Owncloud para un grupo de amigos, una pequeña empresa), un correo personal, o cualquier cosa que se nos ocurra, utilizar https para las conexiones y, con ello, habilitar cifrado, aumentar la seguridad, y todas esas cosas.

    Pero claro, una vez montamos nuestro servicio con nuestros certificados (autofirmados), nos damos cuenta de que los navegadores (y ya no hablamos de curl, wget y otros comandos…) no paran de quejarse porque los certificados están firmados por una entidad no reconocida y que no es de confianza.… Leer artículo completo

  • Conexión segura a un servidor web (HTTPS) en C usando openSSL

    Bueno, el código no tiene mucha más explicación. El objetivo es poder conectar a un servidor web a través de un protocolo seguro y recibir datos, pero también que podamos ver si hay algún problema con el certificado, verificar el algoritmo de cifrado y los datos del certificado, verificar los certificados intermedios, etc.

    Si ignoramos SSL, lo que tenemos que hacer es conectar con un servidor a través de un puerto determinado (como estamos en web, sería el puerto 80, por defecto), y mandarle una serie de datos:

    GET / HTTP/1.1[CRLF]
    Host: openssl.org[CRLF]
    User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0[CRLF]
    [CRLF]

    Por ejemplo.… Leer artículo completo

  • Cómo crear un volumen cifrado en un archivo


    Queremos alojar en un archivo un sistema de archvos, ya sea para probarlo, para organizarnos o para almacenar información sensible. También puede ser una buena solución si tenemos una unidad con una partición en un sistema de archivos FAT32 y queremos establecer permisos de Linux a ciertos archivos, esos archivos podemos almacenarlos en nuestro nuevo volumen, que residirá en un archivo muy grande dentro de la partición FAT.

    Lo primero que debemos hacer es crear un archivo con el tamaño del volumen que queremos crear, no importa lo que escribamos dentro, podemos copiar un fichero grande, o escribir desde un fichero de texto… pero vamos a lo fácil, vamos a crear un archivo que sólo contenga ceros.… Leer artículo completo