39 votos

Cómo detener la inyección de javascript de vodafone proxy?

Hola Estoy usando un móvil basado en red, conexión a internet y estoy tratando de subir mi sitio web a un servidor. En el localhost de mi sitio web se ve bien, pero cuando estoy navegando por el sitio desde el servidor remoto el sitio se ve mal. Revisando el código fuente y googleando he encontrado, un fragmento de código javascript que se inyecta a mis páginas, que es la desactivación de la un poco de CSS que hace que el sitio se vea mal y que el culpable de la url es esta: http://1.2.3.4/bmi-int-js/bmi.js Si usted no es un usuario de internet móvil, usted no puede acceder a esta url. Creo que no soy el primero, frente a este problema. De todos modos, no quiero que la compresión de la imagen o ancho de Banda de compresión en lugar de mi bien diseñado CSS. Así, nadie me dirá cómo dejar que la inyección de javascript que vodafone proxy de la inyección?

Cualquier ayuda será apreciada.

36voto

ppumkin Puntos 3543

Usted puede utilizar esto en sus páginas. Todavía se comprime y poner todo en línea, pero no romper los scripts como jquery porque va a escapar de todo lo basado en los Estándares del W3C

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

En el servidor se puede configurar el cahce de control

"Cache-Control: no-transform"

Esto detendrá TODAS las modificaciones y el presente de su sitio como lo es!

Referencia docs aquí

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5

http://stuartroebuck.blogspot.com/2010/08/official-way-to-bypassing-data.html

Sitio Web de exposiciones de error de JavaScript en el iPad / iPhone en 3G, pero no en virtud de WiFi

33voto

bobince Puntos 270740

Ciertamente no de la primera. Por desgracia, muchos wireless Isp han estado utilizando este grosero y desagradable enfoque a la compresión. Se trata de Bytemobile.

Lo que se hace es tener un proxy comprimir todas las imágenes que captura de menor tamaño por defecto (haciendo que la calidad de imagen significativamente peor). Entonces crudamente inyecta una secuencia de comandos en el documento que se agrega una opción para cargar la imagen adecuada para cada comprimir la imagen. Por desgracia, ya que el guión es un prin-escrito de la década de 1990-estilo JS, se caga en todo su espacio de nombres, se apropia de sus controladores de eventos y una gran oportunidad de echar a perder sus propias secuencias de comandos.

Yo no conozco una manera de detener la inyección en sí, corto de uso de HTTPS. Pero lo que usted podría hacer es detectar o sabotaje de la secuencia de comandos. Por ejemplo, si desea agregar una secuencia de comandos cerca de la final del documento (entre el 1.2.3.4 secuencia de comandos de la inclusión y la secuencia de comandos en línea trigger) para castrar el onload de gancho se utiliza:

<script type="text/javascript">
    bmi_SafeAddOnload= function() {};
</script>

a continuación, la secuencia de comandos, no funcionaría, por lo que sus eventos y DOM iba a ser dejado solo. Por otro lado el guión inicial, aún tendrían que llena el espacio de nombres con basura, y el margen de utilidad problemas que causa todavía estará allí. Asimismo, el usuario se queda con el comprimir imágenes, incapaces de conseguir los originales.

Usted podría tratar de dejar al usuario saber:

<script type="text/javascript">
    if ('bmi_SafeAddOnload' in window) {
        var el= document.createElement('div');
        el.style.border= 'dashed red 2px';
        el.appendChild(document.createTextNode(
            'Warning. Your wireless ISP is using an image recompression system '+
            'that will make pictures look worse and which may stop this site '+
            'from working. There may be a way for you to disable this feature. '+
            'Please see your internet provider account settings, or try '+
            'using the HTTPS version of this site.'
        ));
        document.body.insertBefore(el, document.body.firstChild);
    }
</script>

9voto

Alexander Janssen Puntos 926

El proveedor podría tener habilitado un Bytemobile Unísono característica llamada "sin cliente personalización". Intente acceder a la URL fija http://1.2.3.50/ups/ - si se ha configurado, usted va a terminar en una página que les ofrecemos para deshabilitar todas las característica que no le gusta. Incluyendo la inyección de Javascript.

Buena suerte! Alex.

5voto

Russell Harkins Puntos 31

Si usted está escribiendo propios sitios web, añadir un encabezado trabajado para mí:

PHP:
    Header("Cache-Control: no-transform");
C#:
    Response.Cache.SetNoTransforms();
VB.Net:
    Response.Cache.SetNoTransforms()

Asegúrese de usarlo antes de que los datos ha sido enviado al navegador.

4voto

mgutt Puntos 784

He encontrado un truco. Sólo añadir:

<!--<![

Después de:

<html>

Más información (en alemán):

http://www.programmierer-forum.de/bmi-speedmanager-und-co-deaktivieren-als-webmaster-t292182.htm#3889392

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X