jueves, 3 de julio de 2014

Eliminar Lax1.ib.adnxs.com Pop up



Lax1.ib.adnxs.com es una plataforma de publicidad que utilizan algunos adwares o programas maliciosos para mostrar anuncios en ventanas emergentes o pop-ups, en los principales navegadores de Windows (Internet Explorer, Mozilla Firefox, Google Chrome).

Es independiente del navegador y del motor de búsqueda que utilicemos, si estamos viendo anuncios de Lax1.ib.adnxs.com, podemos estar infectados con algún tipo de virus. No es un sitio malicioso pero es usado por ciberdelincuentes como un sitio web donde rastrearán los hábitos de navegación y programas de los usuarios afectados.
¿Cómo podemos infectarnos con Lax1.ib.adnxs.com?
Podemos infectarnos por navegar por sitios web maliciosos o sitios web que hayan sido comprometidos. Un método cada vez más usado en general para la infección por virus es el drive-by-download, webs vulneradas con scripts maliciosos que buscarán vulnerabilidades en nuestro ordenador para infectarnos. También al ser usuarios de programas P2P donde se comparten archivos, podemos acabar con programas maliciosos o pirateados. Los emails spam o emails con remitente desconocido con enlaces maliciosos a sitios webs infectados o archivos adjuntos.

Una vez infectados  con anuncios desde Lax1.ib.adnxs.com se nos mostrarán constantemente anuncios de tipo pop-ups. Se nos abrirán ventanas con mensajes de actualización de software maliciosos, mensajes diciéndonos que nuestro rendimiento en el PC es pobre, mensajes anunciándonos productos de salud, mensajes para que descarguemos productos o archivos desconocidos, etc... A menudo contienen algunos enlaces desconocidos sobre las palabras destacadas en los que no debemos confiar. Va a utilizar cookies de seguimiento para recopilar información del usuario como la dirección IP, nuestras cuentas de correo electrónico, o datos privados en general. El objetivo de este tipo de infecciones es principalmente ganar dinero a costa de generar tráfico web, de promover ventas de productos o servicios en sitios web de dudoso origen, y por mostrar anuncios y enlaces promovidos por sus autores. Puede redirigirnos a sitios web maliciosos donde podemos infectarnos con otros virus peligrosos. Pueden robarnos datos privados, así como credenciales de todo tipo (por ejemplo bancarias).

Si detectamos la presencia de Lax1.ib.adnxs.com o estamos sufriendo redirecciones a sitios web relacionados con Lax1.ib.adnxs.com, es un síntoma de que estemos infectados con virus. Es aconsejable que  realicemos un análisis completo del sistema y eliminemos las amenazas detectadas.

¿Cómo podemos eliminar Lax1.ib.adnxs.com?
  • Reiniciamos el ordenador y vamos pulsando la tecla F8 hasta que nos aparezca un menú donde podamos escoger la opción Modo seguro con funciones de red. En el caso de Windows 8, podemos seguir los pasos del artículo Iniciar Windows 8 en Modo Seguro con funciones de red.
 
  • Descargamos Adwcleaner (lo podéis descargar desde mi sección de AntiSpyware) y lo guardamos en el escritorio > ejecutamos el programa como Administrador > Clicamos en el botón Scan > cuando termine pulsaremos Clean para eliminar los problemas detectados > seguimos las instrucciones del programa. 

  • JunkWare, (Lo podéis descargar desde mi sección de AntiSpyware) Una vez descargado lo ejecutaremos en modo administrador > y nos pedirá pulsar una tecla para continuar > después va a checkear nuestro ordenador en busca de infecciones > reiniciaremos si nos lo pide.
  • Malwarebytes Anti-Malware (analiza el sistema para eliminar malware) . Lo podéis descargar desde mi sección de AntiMalware. Instalaremos el programa y lo actualizaremos > Realizaremos un Análisis Rápido > Cuando haya terminado, seguiremos con el asistente y eliminaremos los malwares detectados. 
  • Realiza un análisis completo con Eset Nod32 online -> Version Descargable e Instalable: En mi sección Antivirus OnLine podemos descargarla con el nombre Esetsmartinstaller_esn > marcaremos la opción Eliminar las amenazas detectadas y analizar archivos > realizamos clic en Configuración adicional y marcamos las casillas: Analizar en busca de aplicaciones potencialmente indeseables, Analizar en busca de aplicaciones potencialmente peligrosas y Activar la tecnolgía Anti-Stealth. > Clicamos Iniciar para que empiece a descargar  la base firmas de virus y posteriormente empiece a analizar tu sistema.
 
  • Eliminaremos entradas de registro maliciosas con RogueKiller, lo descargaremos de mi sección Herramientas. > una vez descargado lo ejecutaremos y esperaremos que haga un preescaneo > cuando termine clicaremos en el botón de Scan y realizaremos un escaneo del sistema > cuando termine clicaremos el botón Delete para eliminar lo detectado.
  • Finalmente desinstalaremos Adwcleaner.
Estos pasos deberían ser suficientes para eliminarlo. En el caso contrario pueden abrir un nuevo tema en el Foro Solucionavirus para que realice un análisis del sistema personalizado.
Fuente  original: http://www.solucionavirus.com/2013/09/eliminar-lax1ibadnxscom-pop-up.html

sábado, 7 de junio de 2014

TRANSFORMACIONES, TRANSICIONES Y ANIMACIONES DE CSS3

LAS TRANSFORMACIONES DE CSS3

Las transformaciones de CSS3 pueden ser en 2D y en 3D, siendo estas últimas considerablemente más complejas al tener que tener en cuenta los tres ejes de coordenadas. En este tutorial veremos las transformaciones en 2D. Si te interesan las transformaciones de CSS3 en 3D, te recomiendo este artículo (en inglés). En cualquier caso, en el apartado animaciones de CSS3 de este artículo veremos un ejemplo en 3D.
En este ejemplo podemos ver en qué consisten las transformaciones de CSS3 de rotar, escalar y distorsionar. También hay otras muy usadas como la de trasladar.
transformaciones-con-css3
De las transformaciones de CSS3 en 2D, las más usadas son:

  • Rotate. Rotate te permite rotar un elemento dándole un ángulo de giro en grados.
  • Scale. Scale te permite escalar un elemento, toma valores positivos y negativos y se le pueden poner decimales.
  • Translate. Translate nos permite trasladar un elemento a la vez en el eje de las X y de las Y, dándole las coordenadas iniciales y finales.
Si no queremos que se aplique ninguna transformación, la propiedad será de none



.ejemplo {
   transform:none;
}

LAS ROTACIONES DE CSS3

Como hemos visto, la propiedad de transformación de CSS3 tiene muchas aplicaciones, una de ellas la de rotar un elemento. Se puede aplicar tanto a elemento inline como a elementos de bloque.
transform







.ejemplo {
   -webkit-transform: rotate (45deg);
   -moz-transform: rotate (45deg);
   -o-transform: rotate (45deg);
   -ms-transform: rotate (45deg);
   transform: rotate (45deg);
}
Para no estar perdiendo el tiempo creando los prefijos propietarios de navegador, os recomiendo la herramienta gratuita Prefixr
Fíjate que los grados se marcan en positivo si el elemento se rota en el sentido de las agujas del reloj y en negativo si es al revés.
Por defecto, el punto de referencia que toma como eje para hacer la rotación es el centro, pero también se puede especificar otro punto. Aquí un ejemplo en que se traslada el eje de rotación a la parte superior izquierda del elemento:

-webkit-transform-origin: left top;
-moz-transform-origin: left top;
-o-transform-origin: left top;
-ms-transform-origin: left top;
transform-origin: left top;
-webkit-transform: rotate (-20deg);
-moz-transform: rotate (-20deg);
-o-transform: rotate (-20deg);
-ms-transform: rotate (-20deg);
transform: rotate (-20deg);
La gracia de estas propiedades es que con las animaciones de CSS3 vamos a poder crear efectos visuales muy atractivos.

ESCALAR UN ELEMENTO CON CSS3

Otro punto interesante va a ser escalar un elemento con CSS3.
escalar
Si el valor es positivo, el elemento se hace más grande, y si es negativo se hace más pequeño. En el siguiente ejemplo, se escalará el elemento multiplicando por dos:





-webkit-transform: scale(2);
-moz-transform: scale(2);
-o-transform: scale(2);
-ms-transform: scale(2);
transform: scale(2);
También es posible que queramos dar dos valores diferentes según las X y las Y, con lo que creamos un efecto de escala no proporcional que nos da un efecto visual de distorsión.





-webkit-transform: scale (.5, 2);
-moz-transform: scale (.5, 2);
-o-transform: scale (.5, 2);
-ms-transform: scale (.5, 2);
transform: scale (.5, 2);
Si lo deseamos, podemos aplicar el cambio de escala sólo en una dirección. Utilizamos scaleX para sólo escalar en el eje de las X y ScaleY para sólo escalar en el eje de las Y:





-webkit-transform: scaleY(3);
-moz-transform: scaleY(3);
-o-transform: scaleY(3);
-ms-transform: scaleY(3);
transform: scaleY(3);

TRASLADAR ELEMENTOS CON CSS3

Este nombre puede llevar a confusión, ya que esta propiedad de CSS3 no hace propiamente una transición, sino que hace que un elemento pase de estar en una posición a estar en otra. Con las transiciones y las animaciones de CSS3 vamos a poder darle un efecto visual de movimiento.
trasladar css3





-webkit-transform: translate(10px, 20px);
-moz-transform: translate(10px, 20px);
-o-transform: translate(10px, 20px);
-ms-transform: translate(10px, 20px);
transform: translate(10px, 20px);

COMBINAR TRANSFORMACIONES

como bien te puedes imaginar, la potencia de las transformaciones, transiciones y animaciones de CSS3 está en combinarlas. Veamos un ejemplo que combina varias transformaciones de CSS3:

-webkit-transform: scale(2, 1);
-moz-transform: scale(2, 1);
-o-transform: scale(2, 1);
-ms-transform: scale(2, 1);
transform: scale(2, 1);
-webkit-transform: translate(10px, 20px);
-moz-transform: translate(10px, 20px);
-o-transform: translate(10px, 20px);
-ms-transform: translate(10px, 20px);
transform: translate(10px, 20px);

LAS TRANSICIONES DE CSS3

Para activar una transición es necesario que se detecte un evento. Por ejemplo con :hover, :active o:focus. Si combinamos las transiciones con las transformaciones de CSS3, daremos un efecto de movimiento.
Veamos un ejemplo:

#nav a{
   background-color:red;
}
#nav a:hover,
#nav a:focus{
   background-color:blue;
  -webkit-transition-property:background-color;
  -moz-transition-property:background-color;
  -o-transition-property:background-color;
  -ms-transition-property:background-color;
  transition-property:background-color;
  -webkit-transition-duration:2s;
  -moz-transition-duration:2s;
  -o-transition-duration:2s;
  -ms-transition-duration:2s;
  transition-duration:2s;
}
En este ejemplo estamos indicando que la propiedad de transición a variar es el color del background y que se tome 2 segundos en hacer progresivamente el cambio de color. Las transiciones de CSS3 pueden tomar estos valores:

  • transition-property
  • transition-duration
  • transition-delay
  • transition-timing-function

LISTA DE VALORES QUE PUEDE TOMAR TRANSITION-PROPERTY

A continuación te dejo una lista con todas las propiedades de las transiciones de CSS3.

  • background-color
  • background-image
  • background-position
  • border-bottom-color
  • border-bottom-width
  • border-color
  • border-left-color
  • border-left-width
  • border-right-color
  • border-right-width
  • border-spacing
  • border-top-color
  • border-top-width
  • border-width
  • bottom
  • color
  • crop
  • font-size
  • font-weight
  • grid-*
  • height
  • left
  • letter-spacing
  • line-height
  • margin-bottom
  • margin-left
  • margin-right
  • margin-top
  • max-height
  • max-width
  • min-height
  • min-width
  • opacity
  • outline-color
  • outline-offset
  • outline-width
  • padding-bottom
  • padding-left
  • padding-right
  • padding-top
  • right
  • text-indent
  • text-shadow
  • top
  • vertical-align
  • visibility
  • width
  • word-spacing
  • z-index
  • zoom

DURACIÓN DE LA TRANSICIÓN DE CSS3

Con transition-duration especificamos el tiempo que va a tardar la transición. Este tiempo se puede expresar tanto en segundos como en milisegundos. Así, 2.4s y 2400ms tendrán una misma duración.
Imaginemos que tenemos un elemento con el id #desplazamiento que queremos mover en la pantalla con las transiciones de CSS3. El modo en que lo haríamos sería el siguiente:

#desplazamiento a {
position: absolute;
left: 0;
-webkit-transition-property: left;
-moz-transition-property: left;
-o-transition-property: left;
-ms-transition-property: left;
transition-property: left;
-webkit-transition-duration: 2s;
-moz-transition-duration: 2s;
-o-transition-duration: 2s;
-ms-transition-duration: 2s;
transition-duration: 2s;
}
#desplazamiento a:hover {
left:15px;
}
Aquí lo que sucede es que el enlace que contenga el ID desplazamiento se desplazará 15px cuando el usuario pase el ratón por encima. Fíjate que en donde especificamos el valor para el evento, en este caso :hover, sólo decimos el cambio que se hará y el resto de propiedades se especifican en la etiqueta normal. Date cuenta que hemos de especificar dos cosas, el transition-property o la propiedad de transformación y la duración de la misma con transition-duration.

RETRASO EN LA TRANSICIÓN DE CSS3

Con la propiedad transition-delay podemos indicar un tiempo de espera antes de empezar a realizar la transición. Esta propiedad puede tomar tanto valores positivos como negativos. En el caso que le demos un valor negativo, lo que sucede es que la transición tiene lugar en el momento de accionar el evento, lo que empieza en el punto que habría empezado en caso de haberlo hecho en el tiempo indicado. Así, si indico un retraso de -3s y tengo una animación de 10s, en el momento de empezar no lo hará en el segundo 0, sino en el segundo 3.
En el caso de IE y Opera no aceptan valores comprendidos entre los -10ms y los 10ms.

VELOCIDAD DE LA TRANSICIÓN DE CSS3

La propiedad transition-timing-function especifica la velocidad en que se desarrollará la transición, utilizando las llamadas curvas de Bezier. Así, podemos programar la transición para que empiece a una velocidad, luego frene y después se acelere o darle el movimiento que creamos conveniente.
Este punto es quizás el más complejo y existen varias herramientas online para generar las curvas de Bezier. Podemos programarlas nosotros, o darle uno de estos valores: linear, easeease-in, ease-out y ease-in-out. Las curvas de Bezier de estos valores son los que siguen:
bezier
No voy a entrar en las matemáticas detrás de una curva de Bezier, recomiendo que vayas probando o bien utilices una herramienta online que haga el trabajo por ti.
Para más información de las transiciones de CSS3 te recomiendo este excelente artículo de Smashing Magazine. Aquí sólo una cosa más, al igual que con muchas otras propiedades de CSS, podemos poner varios valores en una sola línea. Veamos un ejemplo:


.elemento {
   height: 100px;
   transition: height 2s linear;
}
.elemento:hover {
   height: 200px;
}

LAS ANIMACIONES DE CSS3

Las animaciones de CSS3 son la verdadera potencia del CSS3 en acción. Veamos ahora cómo creamos animaciones de CSS3.

LA CREACIÓN DE ANIMACIONES EN CSS3

Una animación tiene lugar en el tiempo, con lo que vamos a tener que tomar diferentes puntos dentro de un fragmento de tiempo para especificar que sucede en cada uno de ellos. Es lo que se llaman keyframes. Para los que habéis trabajado en Flash u otros programas de animación ya conocéis el concepto. En cada keyframe podemos introducir un cambio y la suma de estos cambios es lo que va a dar lugar a la animación final.
Para indicar la duración de una animación utilizaremos la propiedad animation-duration.
La velocidad de la animación estará gestionado por la propiedad animation-timing-function en la que podremos especificar la curva de Bezier de la animación, tal y como sucedía en las transiciones de CSS3.
También en las animaciones de CSS3 podremos especificar un tiempo de espera antes de iniciar la animación con la propiedadanimation-delay.
Con la propiedad animation-direction podremos indicarle que la propiedad se haga en sentido inverso al habitual, es decir, que empiece por el final.
También podemos especificar la de veces que se repetirá la animación con la propiedad animation-iteration-count.
Resumiendo, las propiedades de las animaciones son:

  • animation-name
  • animation-duration
  • animation-timing-function
  • animation-delay
  • animation-iteration-count
  • animation-direction
Para ahorrar tiempo, te recomiendo animate.CSS, con muchas animaciones de CSS3.
Para muchos ejemplos de animaciones de CSS3 en 2D te recomiendo este fantástico artículo de Smashing Magazine









ARTICULO RECOPILADO DE http://www.esandra.com/transformaciones-css3-transiciones-animaciones-css3

sábado, 3 de mayo de 2014

Selectores avanzados (HTML)

Selectores avanzados

Utilizando solamente los selectores básicos de la sección anterior, es posible diseñar prácticamente cualquier página web. No obstante, CSS define otros selectores más avanzados que permiten simplificar las hojas de estilos.
Desafortunadamente, el navegador Internet Explorer 6 y sus versiones anteriores no soportaban este tipo de selectores avanzados, por lo que su uso no era común hasta hace poco tiempo. Si quieres consultar el soporte de los selectores en los distintos navegadores, puedes utilizar las siguientes referencias:

Selector de hijos

Se trata de un selector similar al selector descendente, pero muy diferente en su funcionamiento. Se utiliza para seleccionar un elemento que es hijo directo de otro elemento y se indica mediante el "signo de mayor que" (>):
p > span { color: blue; }
 
<p><span>Texto1</span></p>
<p><a href="#"><span>Texto2</span></a></p>
En el ejemplo anterior, el selector p > span se interpreta como "cualquier elemento <span> que sea hijo directo de un elemento <p>", por lo que el primer elemento <span> cumple la condición del selector. Sin embargo, el segundo elemento <span> no la cumple porque es descendiente pero no es hijo directo de un elemento <p>.
El siguiente ejemplo muestra las diferencias entre el selector descendente y el selector de hijos:
p a { color: red; }
p > a { color: red; }
 
<p><a href="#">Enlace1</a></p>
<p><span><a href="#">Enlace2</a></span></p>
El primer selector es de tipo descendente y por tanto se aplica a todos los elementos <a> que se encuentran dentro de elementos <p>. En este caso, los estilos de este selector se aplican a los dos enlaces.
Por otra parte, el selector de hijos obliga a que el elemento <a> sea hijo directo de un elemento <p>. Por lo tanto, los estilos del selector p > a no se aplican al segundo enlace del ejemplo anterior.

2.2.2. Selector adyacente

El selector adyacente se emplea para seleccionar elementos que en el código HTML de la página se encuentran justo a continuación de otros elementos. Su sintaxis emplea el signo + para separar los dos elementos:
elemento1 + elemento2 { ... }
Si se considera el siguiente código HTML:
<body>
<h1>Titulo1</h1>
 
<h2>Subtítulo</h2>
...
 
<h2>Otro subtítulo</h2>
...
</body>
La página anterior dispone de dos elementos <h2>, pero sólo uno de ellos se encuentra inmediatamente después del elemento <h1>. Si se quiere aplicar diferentes colores en función de esta circunstancia, el selector adyacente es el más adecuado:
h2 { color: green; }
h1 + h2 { color: red }
Las reglas CSS anteriores hacen que todos los <h2> de la página se vean de color verde, salvo aquellos <h2> que se encuentran inmediatamente después de cualquier elemento <h1> y que se muestran de color rojo.
Técnicamente, los elementos que forman el selector adyacente deben cumplir las dos siguientes condiciones:
  • elemento1 y elemento2 deben ser elementos hermanos, por lo que su elemento padre debe ser el mismo.
  • elemento2 debe aparecer inmediatamente después de elemento1 en el código HTML de la página.
El siguiente ejemplo es muy útil para los textos que se muestran como libros:
p + p { text-indent: 1.5em; }
En muchos libros, suele ser habitual que la primera línea de todos los párrafos esté indentada, salvo la primera línea del primer párrafo. Con el selector p + p, se seleccionan todos los párrafos de la página que estén precedidos por otro párrafo, por lo que no se aplica al primer párrafo de la página.

Selector de atributos

El último tipo de selectores avanzados lo forman los selectores de atributos, que permiten seleccionar elementos HTML en función de sus atributos y/o valores de esos atributos.
Los cuatro tipos de selectores de atributos son:
  • [nombre_atributo], selecciona los elementos que tienen establecido el atributo llamado nombre_atributo, independientemente de su valor.
  • [nombre_atributo=valor], selecciona los elementos que tienen establecido un atributo llamado nombre_atributo con un valor igual a valor.
  • [nombre_atributo~=valor], selecciona los elementos que tienen establecido un atributo llamado nombre_atributo y al menos uno de los valores del atributo es valor.
  • [nombre_atributo|=valor], selecciona los elementos que tienen establecido un atributo llamado nombre_atributo y cuyo valor es una serie de palabras separadas con guiones, pero que comienza con valor. Este tipo de selector sólo es útil para los atributos de tipo lang que indican el idioma del contenido del elemento.
A continuación se muestran algunos ejemplos de estos tipos de selectores:
/* Se muestran de color azul todos los enlaces que tengan 
   un atributo "class", independientemente de su valor */
a[class] { color: blue; }
 
/* Se muestran de color azul todos los enlaces que tengan 
   un atributo "class" con el valor "externo" */
a[class="externo"] { color: blue; }
 
/* Se muestran de color azul todos los enlaces que apunten 
   al sitio "http://www.ejemplo.com" */
a[href="http://www.ejemplo.com"] { color: blue; }
 
/* Se muestran de color azul todos los enlaces que tengan 
   un atributo "class" en el que al menos uno de sus valores
   sea "externo" */
a[class~="externo"] { color: blue; }
 
/* Selecciona todos los elementos de la página cuyo atributo
   "lang" sea igual a "en", es decir, todos los elementos en inglés */
*[lang=en] { ... }
 
/* Selecciona todos los elementos de la página cuyo atributo
   "lang" empiece por "es", es decir, "es", "es-ES", "es-AR", etc. */
*[lang|="es"] { color : red }
 
 
Artículo tomado de 
http://librosweb.es/css/capitulo_2/selectores_avanzados.html#selector_de_hijos 

domingo, 2 de febrero de 2014

Dar formato a números en javascript

function formato_numero(numero, decimales, separador_decimal, separador_miles){ // v2007-08-06
    numero=parseFloat(numero);
    if(isNaN(numero)){
        return "";
    }

    if(decimales!==undefined){
        // Redondeamos
        numero=numero.toFixed(decimales);
    }

    // Convertimos el punto en separador_decimal
    numero=numero.toString().replace(".", separador_decimal!==undefined ? separador_decimal : ",");

    if(separador_miles){
        // Añadimos los separadores de miles
        var miles=new RegExp("(-?[0-9]+)([0-9]{3})");
        while(miles.test(numero)) {
            numero=numero.replace(miles, "$1" + separador_miles + "$2");
        }
    }

    return numero;
}


Tomado de: http://www.antisacsor.com/articulo/10_98_dar-formato-a-numeros-en-javascript