Permisos en las aplicaciones de android

Permisos en las aplicaciones de android

¿Has pensado alguna vez en los permisos que necesita una aplicación de tu móvil android para ejecutarse?

Pregúntate porque una aplicación como la linterna necesita ver tu libreta de contactos o facebook pueda modificar cualquier archivo de tu SD y conectarse a cualquier red sin permiso previo.

Muchos programadores al hacer una aplicación digamos que no depuran mucho el código por así decirlo e importan permisos sin pensarlo, en cambio otros saben muy bien lo que hacen y digamos que pueden activar ciertas funciones de tu móvil a distancia (leer, recomendado), recibir informes automáticos o directamente usar tu aparato como bootnet y atacar webs para tumbarlas por DDOS como se izo no hace mucho con cámaras de seguridad conectadas por IP.

Buenos sin extendernos mucho podemos bloquear los permisos ya sea para ahorrar batería o porque no nos fiamos mucho de lo que realmente activan, así que podemos bloquearlos a través de Menú > Configuración > Aplicaciones > Rueda de configuración > Permisos de aplicaciones

Una vez estemos en permisos de aplicaciones, dependiendo del SO que tengamos instalado os aparecerán los premisos a los que acceden las aplicaciones o las aplicaciones individuales. A mi ahora mismo me aparecen los permisos, así que clico en micrófono para ver que aplicaciones lo usan.

Por ejemplo, quito el micrófono de Facebook, Google+, Hangouts, Messenger, Opera…

Contactos: Fit, fotos, SEO BL, entre otros

Crear una contraseña difícil y segura

Crear una contraseña difícil y segura

Antes de explicar como crear un password o contraseña segura me gustaría que entendieran como se puede acceder a un sitio a través de su contraseña.

La mayoría de veces acceder a un sitio web con usuario y contraseña se hace a través de un diccionario de claves más comunes como puede ser la conocida librería de darkc0de.lst o las wordlists. Esto no se hace como muestran las películas, Hollywood ha hecho mucho daño. Si no sabes la longitud de una pass no vas de dígito en dígito hasta que los encuentras todos. Para reventar una contraseña a través de diccionario necesitas de un programa o exploit que lea dicho archivo y pruebe cada una de las contraseñas que en el hay escritas (una por línea).

Los diccionarios de contraseñas acostumbran a optimizar el proceso poniendo las más usadas y palabras del diccionario inglés. Un ejemplo básico de archivo de contraseñas sería:

  • admin
  • 1234
  • root
  • pass
  • 0000

Luego están los secuenciales que los puedes crear tu mismo con algún programa automatizado. Le dices la longitud de caracteres, si son numéricos [0-9],  alfanuméricos [0-9][A-Z], alfanuméricos  mayúsculas y minúsculas [0-9][A-Z][a-z] y luego están los que aceptan símbolos de puntuación como -_. entre otros.

Un archivo como este de 4 dígitos numéricos sería:

  • 0000
  • 0001
  • 0002
  • 0003
  • 9999

El mismo alfanumérico empezaría del 0000 hasta el ZZZZ y así hasta localizar tu password.

Entendido esto sacamos 2 conclusiones:

  1. No poner contraseñas obvias (1234,admin…)
  2. No pones passwords que aparezcan en un *diccionario

* Hay diccionarios gratuitos para todos los idiomas

Una vez entendido esto, hablaremos del código h4x0r.

-¿Que tengo que programar para hacer una contraseña segura?!!!

-¡NO!

El código h4x0r o Leet speak es la sustitución de letras por números.

Para mostrar esto mejor viéndolo que hablando:

  • 1337 5p34k – leet speak
  • 1337 – leet
  • 4dm1n – admin

¿Fácil no? Realmente este tipo de lenguaje una vez le pillas el tranquillo lo lees rápido y lo puedes llevar a complicar tanto como desees.

  • Este sería un claro ejemplo de complicación
  • 3513 53r¡4 un c14r0 3j3mp10 d3 c0mp1¡c4c¡0n
  • 3513 53R¡4 |_|N (14R0 3j3|V|P10 |)3 (0|V|p1¡(4(¡0N

Y así hasta hacerlo incomprensible pero comprensible a la práctica.

Entonces vamos a lo práctico, nuestra contraseña fácil de recordar pero muy segura. Necesitamos que tenga letras, números y símbolos de puntuación aceptables para la mayoría de contraseñas, mayúsculas, minúsculas, más de 8 dígitos.

Te llamas RAMON

Te llamas R4M0N

Estamos en el año 2016 y tengo que cambiar las contraseñas cada mes (del 01 al 12)

Pues vamos a por los prefijos o sufijos R4MoN.

R4M0N_11161116_R4M0N como más os guste. Aquí tenemos una pass fácil de recordar y que la puedes modificar cada mes y/o cada año, a gustos

Por mes:

R4M0N_0116

R4M0N_0216

R4M0N_0316

Por año:

R4M0N_16 (8 dígitos)

R4M0N_17

R4M0N_18

¿Pues no es tan difícil no? Pero no voy a poner la misma contraseña en todos los lugares para que me peten una y entren en todos los sitios. Eso es lo que más de uno piensa al leer los artículos de creación de contraseñas pero para eso también tengo un truco.

Contraseñas fáciles de recordar, difíciles de petar y diferentes para cada cosa.

ema-R4M0N_16 / Para el email.

web-R4M0N_16 / Para las webs. 

fbk-R4M0N_16 / Para facebook

twi-R4M0N_16 / Para Twitter

bds-R4M0N_16 / Para las bases de datos

Y aquí acaba el artículo, una vez finalizado y con un poco de práctica podréis crearos una contraseña que no aparezca en un diccionario, alfanuméricas y con símbolos, fáciles de modificar y diferentes según necesidad.

Como posicionar bien una web

Como posicionar bien una web

Hay muchísimos factores que pueden afectar en el buen y mal posicionamiento de una web tanto en google como en otros indexadores como bing y yahoo.

La mayoría de tutoriales se centra en el posicionamiento SEO y/o en el posicionamiento SEM de una web, de los cuales encontrarás miles de tutoriales por internet. Yo voy a intentar enseñaros algunos factores muy importantes que no se contemplan tanto pero que a la larga es posible que os afecten y mucho.

  1. Escoger un buen servidor de hosting
  2. Servidor dedicado o compartido
  3. Si tu servidor es compartido con quién lo compartes y si te puede afectar
  4. Lenguaje de programación
  5. Metatags de idioma
  6. Velocidad de carga de una web

Escoger un buen servidor de hosting

A la hora de hospedar una web es muy importante comprobar el ping que te da con ese servidor de hosting. Para hacer esto puedes ver alguna web que este hospedada en ese servidor y hacerle un ping, ¿como?

Si estás en Windows aprieta la tecla Win+R (Ejecutar) y escribe cmd.

En linux o Osx lo puedes hacer desde el terminal o shell.

Se te abrirá una ventanita negra (Consola) y teclea: ping sitioweb

ping bing.com

 

Un buen ping se considera el que está por debajo de 60ms, lo normal son 40ms y si es menos pues fantástico. A esto lo tienes que sumar lo que tarde tu servidor en procesar, cargar y mostrar tu web (Velocidad de carga de una web).

 

Servidor dedicado o compartido

La mayoría de webs y portales de internet están compartiendo servidor, casi todos lo hacen/hacéis por el echo que un servidor dedicado es más caro y te lo tienes que administrar tú. Problemas que te puedes encontrar a la hora de compartir servidor son muchos, entre los que podemos destacar la seguridad del servidor y la penalización por IP.

Que te penalicen a ti por hacer mal alguna cosa tanto en programación como por desconocimiento es malo, ahora, que te penalicen porque tu vecino es un (…) te puede causar muchos problemas. Supongamos que tu vecino tiene una web para adultos y tu una web infantil, y resulta que vuestro servidor os ha otorgado la misma IP. El se dedica ha hacer Spam a través de email y publicidad en webs de poca relevancia por así decirlo, san google lo detecta y hace un banneo por IP. Él desaparece del mapa, ahora tu también.

 

Si tu servidor es compartido con quién lo compartes y si te puede afectar

Para saber quienes son tus vecinos la manera más rápida y eficaz es usar bing, si bing.com, google no te permite ver la IP de las webs.

Lo primero que debes hacer es un ping a tu web como te he mostrado más arriba, apúntate el número que te muestra después de “Respuesta desde …”, abres bing.com y en buscar escribes: IP:y-el-numero-con-puntos-aquí (Ejemplo:  IP:123.123.123.123)

En los resultados verás todas las webs que comparten esa misma IP, mira que todas las que ves sean “legales” y si es así tendrás suerte.

 

Lenguaje de programación

El lenguaje que escojas en si no es muy importante, lo importante es el interprete del mismo, por ejemplo: Digamos que usas php, un lenguaje de fácil comprensión y gratuito, pero si lo ejecutas en un windows con Internet Information Server + Xamp, este para ser ejecutado tardará más que si lo ejecutas en un linux o windows con apache. No es lo mismo un lenguaje como html que un lenguaje como php o asp (los lenguajes de servidor para ser mostrados luego se transforman en html para el navegador). Piensa que la velocidad cada vez es más importante para el posicionamiento y google analiza el tiempo de carga de una web en milisegundos.

 

Metatags de idioma

El metatag languaje es importante para el posicionamiento ya que últimamente google muestra o da preferencia a las búsquedas locales que a las globales. Supongamos que tienes una web muy geolocalizada (Madrid), primaría un meta geolocator que el meta languaje, pero haría una codificación ISO-8859-1 en vez de un UTF-8.

Velocidad de carga de una web

Bienvenidos al siglo XXI donde los móviles, tablets, 3G/4G… se han hecho los dueños de internet. Pensando que tú no esperas ni 5 segundos a que una web cargue, pregúntate ¿Por qué otros esperarán a que cargue la tuya?

Fijaos que flash, flex, java y otros lenguajes han desaparecido del mapa web. Todo lo pesado y de carga lenta a pasado a la historia.

¿Como se mide la velocidad de carga de una web? La velocidad de carga se calcula desde que un usuario ha hecho clic en un enlace o ha escrito tu web en la URL y esta se muestra.

Ping a tu servidor, interpretación del código en el caso que el código sea de servidor (php, asp…) , ping a tu base de datos (en el caso que esté en una IP diferente a la de la web y o haya BD), respuesta de tu BD con todos los datos, importar archivos vinculados (.js, .css, fotos, videos), construir el html y devolverlo al navegador para que tu lo veas y google lo indexe.

Se que hay otros archivos y maneras, pero es un esquema “normal” de una web “normal”.

He pasado por encima el importar archivos vinculados, pero fijaos que casi todos los tutoriales de velocidad de carga de una web solo hacen referencia a este punto. Actualmente google se ha puesto paranoico con los archivos externos de una web y pide en la medida de lo posible que los incrustes dentro del lenguaje html, por ese motivo hemos pasado la mayoría de web de tener el código bien puesto y tabulado a mezclar estilos y javascript con el html. Google intenta que tu no importes archivos, tarda más en cargar un archivo externo, aunque este esté en el mismo servidor, que cargar ese mismo archivo html pesando mucho más. Cuantas menos conexiones haga tu archivo html más rápido se cargará este, y eso señores y señoras es lo que a google le gusta más, por encima de muchas otras cosas ahora google busca velocidad y optimización.