Seguridad en la venta por Internet
El pasado 1 de diciembre de 2011 asistí a la jornada “Seguridad en la venta por Internet” organizada por la Cámara de Comercio de Granada, dentro del programa Feria del Conocimiento. Aparte de ser un evento puramente comercial para ofrecer diferentes servicios a las personas y empresas asistentes, anoté algunos detalles que me gustaría compartir.
- La seguridad de la información con la que trabaja cualquier organización debe ser valorada en dos ámbitos:
- El ámbito interno de la organización: funcionamiento interno, procesos de trabajo, comunicaciones internas, etc.
- El ámbito externo de la organización: imagen pública, lo que se percibe desde fuera, lo que transmite esa organización.
- Las características de una información segura son: disponibilidad, integridad, confidencialidad, autenticación y trazabilidad. La información segura es tratada/afectada/gestionada por personas, procesos y tecnología.

- Si guardamos información en países extranjeros, la legislación vigente de ambos países debe ser “compatible” para garantizar la seguridad de la información.
- En un formulario web en el que pidas cualquier dato personal, debes requerir expresamente el consentimiento de la persona para que esos datos personales sean tratados para llevar a cabo esa solicitud o servicio. Para ello lo habitual es colocar una casilla de verificación (checkbox) que la persona deba marcar obligatoriamente antes de enviar el formulario, indicando así que acepta nuestra política de privacidad de datos y que da su consentimiento. Si no marca esa casilla, el formulario no debería enviarse; dicho de otra manera, si no marca la casilla tú nunca deberías tener ninguno de sus datos personales.
- Si tienes pensado enviar comunicaciones comerciales a quien te dio un dato de contacto a través de un formulario web, es imprescindible que en ese formulario web también solicites el consentimiento de la persona para recibir publicidad. Esto puedes hacerlo mediante una casilla de verificación para que la persona la marque en caso de aceptar la recepción de publicidad. De esta manera, tendrás menos posibilidad de ser calificado como spam.
- Es posible que tengas acuerdos con alguna otra organización para pasarle datos de tus clientes o tus contactos. En ese caso, en el formulario web donde recabes datos personales también debes solicitar expresamente el consentimiento a la persona mediante una casilla de verificación, de forma que acepte la cesión de sus datos a terceros. Esto no es necesario si, para completar el servicio solicitado por la persona, es imprescindible que se utilicen sus datos. Por ejemplo, al comprar un producto en una tienda online es necesario que la empresa de logística conozca la dirección de la persona para poder entregar el paquete y así completar el servicio que solicitó y pagó.
A nivel técnico, cuando vas a tratar con información segura a través de Internet deberias conocer estos conceptos:- Certificado digital.
- Firma electrónica.
- Servidor seguro.
- Cuando una persona está navegando por un sitio web seguro (esto es, mediante HTTPS) y ese servidor web dispone de un certificado digital, resulta que toda la información que viaja desde el equipo de la persona (cliente) hacia el servidor va encriptada, pero la información que va desde el servidor hacia el cliente no va encriptada.
Para asegurar que la comunicación entre un equipo cliente y un servidor es segura, y que la información viaja encriptada en ambos sentidos, es necesario que tanto el servidor como el cliente dispongan de certificado digital.
Más información:
- Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal.
- Ley 34/2002, de 11 de julio, de servicios de la sociedad de la información y de comercio electrónico.
- Web informativa sobre la Ley de Servicios de la Sociedad de la Información.
- Agencia Española de Protección de Datos.
- Área de Seguridad del Instituto Nacional de Tecnologías de la Comunicación (INTECO).
- CriptoRed: red temática de criptografía y seguridad de la información.
- Legislación de la Unión Europea para la Sociedad de la Información.
- Mis notas sobre LSSI y LOPD extraídas de otra jornada sobre el tema.
Convertir de SQLite a MySQL

Aunque he intentado hacer funcionar de forma aceptable un WordPress con SQLite, finalmente el servidor donde lo alojaba no me facilitaba la tarea así que he decidido utilizar WordPress con MySQL, como toda la vida, aunque tenga que alojar la base de datos en un servidor externo.
Tras investigar algo por Internet y darme algún cabezazo con imports/exports de SQL, estos son los pasos que he seguido para convertir una base de datos SQLite a MySQL (proceso también conocido como migración de SQLite a MySQL):
- Generar una exportación de la base de datos SQLite en un fichero SQL.
- Editar el fichero SQL generado para hacer los siguientes cambios:
- Reemplazar AUTOINCREMENT por AUTO_INCREMENT.
- Eliminar las comillas dobles en los nombres de los objetos, ya que MySQL no las contempla. Por ejemplo, hay que reemplazar “wp_posts” (incluyendo las comillas) por wp_posts.
- En los campos que deban ser de tipo fecha/hora, reemplazar text not null default ’0000-00-00 00:00:00′ por datetime not null. Fíjate en el not null: cámbialo si te conviene que sea null. Además, es posible que tú sí necesites algún valor predeterminado para algún campo de tipo datetime.
- Eliminar el valor predeterminado (default) de los campos blob/text.
- En general, repasar todos los campos que tengan formato text (generado por SQLite) ya que que algunos deberán cambiarse por datetime (como he explicado anteriormente) o por varchar.
- Aunque yo no he tenido que hacerlo, en algún sitio he visto que hay que borrar todas las líneas donde aparezca sqlite_sequence.
- Una vez modificado y guardado el fichero (previa copia de seguridad, claro está
), importar este fichero SQL a la base de datos MySQL (por ejemplo, con phpMyAdmin). - Fin.
Un ejemplo
A continuación muestro un ejemplo de migración de una tabla, lo que viene a llamarse “el antes y el después”:
Tabla wp_comments en SQLite (ANTES)
CREATE TABLE wp_comments ( comment_ID integer NOT NULL PRIMARY KEY AUTOINCREMENT , comment_post_ID integer NOT NULL default '0', comment_author blob NOT NULL, comment_author_email text NOT NULL default '', comment_author_url text NOT NULL default '', comment_author_IP text NOT NULL default '', comment_date text NOT NULL default '0000-00-00 00:00:00', comment_date_gmt text NOT NULL default '0000-00-00 00:00:00', comment_content text NOT NULL, comment_karma integer NOT NULL default '0', comment_approved text NOT NULL default '1', comment_agent text NOT NULL default '', comment_type text NOT NULL default '', comment_parent integer NOT NULL default '0', user_id integer NOT NULL default '0');
Tabla wp_comments en MySQL (DESPUÉS)
CREATE TABLE wp_comments ( comment_ID integer NOT NULL PRIMARY KEY AUTO_INCREMENT , comment_post_ID integer NOT NULL default '0', comment_author text NOT NULL, comment_author_email varchar(100) NOT NULL default '', comment_author_url varchar(200) NOT NULL default '', comment_author_IP varchar(100) NOT NULL default '', comment_date datetime NOT NULL , comment_date_gmt datetime NOT NULL , comment_content text NOT NULL, comment_karma integer NOT NULL default '0', comment_approved varchar(20) NOT NULL default '1', comment_agent varchar(255) NOT NULL default '', comment_type varchar(20) NOT NULL default '', comment_parent integer NOT NULL default '0', user_id integer NOT NULL default '0');
Pues nada más, espero que te sirva.
No consigo clientes con mi sitio web
Esta frase la he oído alguna que otra vez en clientes propios y ajenos, y es que puede haber numerosas causas por las que un sitio web precioso y estupendo y que ha costado mucho dinero no atraiga visitas y, lo peor, que las visitas no se conviertan en clientes. No es preciso que una empresa base su negocio en Internet para que la web deba resultar provechosa: las empresas quieren ganar dinero, sea por el medio que sea, y quieren que una inversión sirva para incrementar sus ganancias.
Hablando con diseñadores web que comienzan su carrera profesional, alguno/a tiene la idea equivocada de que un buen diseño “vende”. Yo creo que un buen diseño puede atraer, pero vender es otra cosa.
A continuación tienes algunas razones por las que tu sitio web puede estar “perdiendo dinero”. Quizá te ayude a detectar algún fallo y corregirlo.
Llamadas a la acción: “Y ahora ¿qué?”
Con frecuencia me he encontrado en páginas web a las que he llegado porque me interesa un producto, tanto como para comprarlo, pero no he encontrado fácilmente la manera de adquirirlo y a los 10 segundos ya estaba cansado y con el interés por los suelos. Es probable que también te haya ocurrido en alguna ocasión y entonces deberías ser consciente de que no quieres eso para tu empresa ni para tu sitio web.
Cada página relevante de tu sitio web debería tener una llamada a la acción claramente visible y diseñada específicamente para que el visitante termine haciendo lo que tú quieres que haga.
Una llamada a la acción en un sitio web puede ser un botón, un enlace, un banner o un formulario que guía a los visitantes hacia el siguiente paso en el proceso de conversión [de visitante a cliente].

Es conveniente que el visitante perciba de un rápido vistazo tanto el beneficio (texto “hacer llamadas más baratas”) como la manera de obtenerlo (botón “comienza a ahorrar ahora”). Además, vemos cómo podemos incluir en la misma página incluso una segunda acción importante para el negocio: el botón “Ofertas especiales”. Todo ello dispuesto mediante un diseño claro y coherente y expresado en un lenguaje adecuado.
Caso particular: sitios web realizados con Flash
Hay por ahí algunos sitios web realizados íntegramente con Flash en los que los principales problemas a la hora de convertir visitas en clientes son la falta de contenido útil y la ausencia de guías claras para el usuario, así como caminos y métodos incómodos de navegación por el sitio web.
Veamos este ejemplo:

Diseño sobrio, quizá atractivo para alguien… Pero ¿de qué va esta empresa? Esta página de inicio no dice nada, tienes que ser un “visitante curioso” para enterarte de qué va. Además si haces clic en alguna sección, luego tienes que ir cerrando ventanitas para poder acceder a otra.
Es común ver este tipo de páginas incluso hoy en día: son de las que se hacen con el único objetivo de estar en Internet, pero nada más. Porque la URL aparece en la tarjeta de visita.
La falacia del “visitante curioso”
En varias ocasiones, charlando con clientes sobre la creación de su próximo sitio web, ha salido la frase “ponemos todo esto en la web clasificado de esta forma y así la gente, si quiere, podrá visitar cualquier cosa”. Además ha sido un razonamiento difícil de refutar en alguna ocasión debido al peculiar y “corto” punto de vista del cliente.
Este mismo razonamiento también es habitual a quienes gustan de clasificar las cosas y atenerse a esa clasificación por encima de todo. Por experiencia sé que los informáticos tendemos a eso, a veces equivocadamente. Creo que el ejemplo más claro podrían ser tiendas/catálogos online, o directorios temáticos. Veamos:

Mirando la clasificación de la ropa en el menú de la izquierda, no apetece mucho ponerse a buscar una prenda. Veo “Pantalones para Hombre” y “Jeans para Dama” pero ¿habrá jeans para hombre? ¡Buf! Tengo que ponerme a buscarlos… Probablemente esta misma clasificación es la del inventario, que les vendrá bien para la catalogación de las prendas, pero no podemos pretender llevar a la web el mismo modo de clasificación porque no estamos en una tienda física donde uno pasea y localiza los productos de interés de una forma distinta que delante de una pantalla.
Al diseñar una web no puedes limitarte a exponer lo que tienes y esperar, de forma pasiva, que al visitante le guste algo y te lo compre. La gente que visita tu web seguramente no piensa como tú, ni ordena las cosas como tú, ni le gusta las mismas cosas que a ti.
Landing pages: “Esto no es lo que buscaba”
Cuando has puesto el foco en algún producto/servicio de tu web y has decidido darle mucha visibilidad, deberías esforzarte en la investigación de qué palabras/frases clave pueden utilizar los clientes potenciales para encontrar ese producto/servicio en los buscadores, de forma que diseñes una landing page lo más atractiva posible y con los textos más adecuados a las palabras clave que hayas encontrado en tu investigación. Sin olvidar, por supuesto, una clara llamada a la acción.
No es conveniente que tu página salga listada en buscadores (Google, Bing, etc.) para cierto término de búsqueda, una persona haga clic y, al cargar la página correspondiente, no encuentre “eso” que estaba buscando. Es aún peor si esto ocurre tras haber hecho clic en un anuncio tipo Google AdWords, ya que la inversión publicitaria se perderá la mayoría de las veces… a menos que te haya visitado el “visitante curioso” y termine convirtiéndose en tu cliente, cosa muy poco frecuente.
Como ejemplo, he buscado en Google “guitarras baratas”:

Tras ver los resultados, he decidido hacer clic en el último anuncio de abajo a la derecha, por el cual la empresa correspondiente estará pagando sus euros, y he llegado a esta página:

¿Dónde están las guitarras baratas que yo estaba buscando? Lo primero que veo son novedades en CDs, anuncios, un botón de ofertas y más abajo (seguramente por debajo del scroll de muchísimos usuarios) aparece un puñado de guitarras.
Espero que estas ideas te ayuden a definir mejor el diseño y los contenidos de tu sitio web. Cuanto más trabajo en ello, más me convenzo de que cada página hay que planificarla con especial atención. Además, a mayor inversión en el diseño web (con todo lo que ello conlleva), mejores resultados en buscadores y en el boca-a-oreja. ¡Ánimo!
Enlaces rápidos
Recopilación de enlaces que me han resultado interesantes en los últimos tiempos:
- CSSDesk – Online CSS Sandbox. Entorno para diseñar con CSS online.
- 16 Pixels: For Body Copy. Anything Less Is A Costly Mistake. Sobre el tamaño de texto en las páginas web y la importancia de facilitar la lectura en pantalla.
- DBA Tips Archive for Oracle. Interesante colección de scripts SQL y técnicas para tareas varias de administración de bases de datos Oracle.
- Cómo extraer información de los backups de Plesk: aquí y aquí.
- Plugin Portable phpMyAdmin para WordPress.
- Optimal Javascript loading in WordPress.
Enlaces rápidos
Una nueva selección de enlaces que me han parecido interesantes en los últimos días:
- Solving Contact Page Confusion: Interesante análisis de cómo abordar el diseño de la página web de contacto para una empresa cuyo objetivo principal es que la gente contacte con ella.
- FUEL CMS: Gestor de contenidos basado en CodeIgniter que me he propuesto probar en cuanto tenga un rato libre. Porque no todo va a ser WordPress…
- 25 free fonts perfect for @fontface: Recopilación de 25 tipografías con licencias apropiadas para ser utilizadas con CSS3.
- Paper prototyping helper kit: Recopilación de controles, botones e iconos para usar en los bocetos sobre papel. Parece un buen complemento al Portable Kit de UXPin.
- SSHMeIn: Aplicación web basada en AJAX para gestionar servidores UNIX a través de firewalls.
- Embedded Help System: Plugin de jQuery para integrar sistemas de ayuda en las interfaces web.
- HTMLform: Aplicación web para crear formularios web de forma visual. Muy interesante.
¡Hasta la próxima!
Manifiesto por una Red Neutral
Los ciudadanos y las empresas usuarias de Internet adheridas a este texto manifestamos:
- Que Internet es una Red Neutral por diseño, desde su creación hasta su actual implementación, en la que la información fluye de manera libre, sin discriminación alguna en función de origen, destino, protocolo o contenido.
- Que las empresas, emprendedores y usuarios de Internet han podido crear servicios y productos en esa Red Neutral sin necesidad de autorizaciones ni acuerdos previos, dando lugar a una barrera de entrada prácticamente inexistente que ha permitido la explosión creativa, de innovación y de servicios que define el estado de la red actual.
- Que todos los usuarios, emprendedores y empresas de Internet han podido definir y ofrecer sus servicios en condiciones de igualdad llevando el concepto de la libre competencia hasta extremos nunca antes conocidos.
- Que Internet es el vehículo de libre expresión, libre información y desarrollo social más importante con el que cuentan ciudadanos y empresas. Su naturaleza no debe ser puesta en riesgo bajo ningún concepto.
- Que para posibilitar esa Red Neutral las operadoras deben transportar paquetes de datos de manera neutral sin erigirse en “aduaneros” del tráfico y sin favorecer o perjudicar a unos contenidos por encima de otros.
- Que la gestión del tráfico en situaciones puntuales y excepcionales de saturación de las redes debe acometerse de forma transparente, de acuerdo a criterios homogéneos de interés público y no discriminatorios ni comerciales.
- Que dicha restricción excepcional del tráfico por parte de las operadoras no puede convertirse en una alternativa sostenida a la inversión en redes.
- Que dicha Red Neutral se ve amenazada por operadoras interesadas en llegar a acuerdos comerciales por los que se privilegie o degrade el contenido según su relación comercial con la operadora.
- Que algunos operadores del mercado quieren “redefinir” la Red Neutral para manejarla de acuerdo con sus intereses, y esa pretensión debe ser evitada; la definición de las reglas fundamentales del funcionamiento de Internet debe basarse en el interés de quienes la usan, no de quienes la proveen.
- Que la respuesta ante esta amenaza para la red no puede ser la inacción: no hacer nada equivale a permitir que intereses privados puedan de facto llevar a cabo prácticas que afectan a las libertades fundamentales de los ciudadanos y la capacidad de las empresas para competir en igualdad de condiciones.
- Que es preciso y urgente instar al Gobierno a proteger de manera clara e inequívoca la Red Neutral, con el fin de proteger el valor de Internet de cara al desarrollo de una economía más productiva, moderna, eficiente y libre de injerencias e intromisiones indebidas. Para ello es preciso que cualquier moción que se apruebe vincule de manera indisoluble la definición de Red Neutral en el contenido de la futura ley que se promueve, y no condicione su aplicación a cuestiones que poco tienen que ver con ésta.
La Red Neutral es un concepto claro y definido en el ámbito académico, donde no suscita debate: los ciudadanos y las empresas tienen derecho a que el tráfico de datos recibido o generado no sea manipulado, tergiversado, impedido, desviado, priorizado o retrasado en función del tipo de contenido, del protocolo o aplicación utilizado, del origen o destino de la comunicación ni de cualquier otra consideración ajena a la de su propia voluntad. Ese tráfico se tratará como una comunicación privada y exclusivamente bajo mandato judicial podrá ser espiado, trazado, archivado o analizado en su contenido, como correspondencia privada que es en realidad.
Europa, y España en particular, se encuentran en medio de una crisis económica tan importante que obligará al cambio radical de su modelo productivo, y a un mejor aprovechamiento de la creatividad de sus ciudadanos. La Red Neutral es crucial a la hora de preservar un ecosistema que favorezca la competencia e innovación para la creación de los innumerables productos y servicios que quedan por inventar y descubrir. La capacidad de trabajar en red, de manera colaborativa, y en mercados conectados, afectará a todos los sectores y todas las empresas de nuestro país, lo que convierte a Internet en un factor clave actual y futuro en nuestro desarrollo económico y social, determinando en gran medida el nivel de competitividad del país. De ahí nuestra profunda preocupación por la preservación de la Red Neutral. Por eso instamos con urgencia al Gobierno español a ser proactivo en el contexto europeo y a legislar de manera clara e inequívoca en ese sentido.
Si te sientes cómodo y representado por este texto, dale toda la difusión que puedas y quieras: reprodúcelo, enlázalo, tradúcelo, compártelo, vótalo… todas esas cosas que puedes hacer con total tranquilidad y libertad gracias, precisamente, al hecho de que tenemos todavía una red neutral.
Hagamos posible el seguir teniéndola.













