我正在使用移动宽带USB棒,它将脚本插入我的页面。我该如何停止它?

StackOverflow https://stackoverflow.com/questions/3799587

  •  05-10-2019
  •  | 
  •  

我最近开始使用3G移动宽带USB棒。它来自英国移动通信公司T-Mobile。一切似乎都很好,直到我尝试通过将其上传到Live服务器来测试我一直在本地开发的网站。

当我查看直播网站的代码时,我可以看到发生了两个奇怪的事情:

  1. 一个脚本被插入我的文档的负责人: <script src="http://1.2.3.8/bmi-int-js/bmi.js" language="javascript"></script>

    我可以在代码中放置某些内容以防止脚本插入吗?

  2. 通常我的CSS包含在我的页面中,例如:

    <link href="style.css" rel="stylesheet" type="text/css" />

但是现在,当我查看我的来源时,CSS已直接插入脚本标签之间的页面,例如:

<style type="text/css" style="display:none">div.calendar{color:#000;font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;-moz-box-shadow:0px.....

对于某些JavaScript文件也正在发生这种情况。

到底是怎么回事?

有帮助吗?

解决方案

您看到的修改实际上并未在网站的标记中存在。我访问了您的网站,可以验证这一点。发生的事情是,T-Mobile试图“优化”使用您的无线棒访问的任何网站,并做得不好。 这个人报告了同样的问题:

事实证明,T-Mobile(和Vodafone UK)认为,将自己的JavaScript插入我访问的每个页面是适当的,该页面通过代理来降低其质量的代理来管道所有图像。但是,由于不当终止的新线,该脚本不能与任何XHTML 1.1或XML文档一起被Firefox或Opera解析。

这是您的前几行 head, , 照我看来:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>The Smile Zone | Home</title> 
<link rel="stylesheet" type="text/css" href="manager/templates/smiletemplate/css/style.css" /> 
<link type="text/css" rel="stylesheet" href="http://www.jotform.com/css/styles/form.css?v3"/> 
<link href="manager/templates/smiletemplate/css/calendarview.css" rel="stylesheet" type="text/css" /> 

我不知道您是否可以覆盖无线服务的这种行为,但是您可以放心,您网站的其他访问者没有相同的问题。

其他提示

在T-Mobile中,它被称为“移动宽带加速器”,您可以访问: http://accelerator.t-mobile.co.uk 或者 http://1.2.3.50/ 禁用/配置它。也请看看 停止移动网络代理注入JavaScript

如果使用SSL加载网站或使用VPN(或TOR)浏览,则您的ISP将无法看到数据以修改它。不过,这不一定能帮助您的用户。

我可以在代码中放置某些内容以防止脚本插入吗?

如果您设置 内容 - 安全政策 您网站的HTTP标头,您将能够阻止注射的脚本能够加载现代浏览器。

看 ”HTML5Rocks:内容安全策略简介“要开始。但是,通过这样的政策,您必须小心,不要拒绝您自己的网站所需的资源,例如Google字体,CDNS等,这可能很耗时才能正确。

例如,以下HTTP标头只允许现代浏览器从您网站自己的域中获取资源,从而阻止外部BMI脚本被获取:

Content-Security-Policy: default-src 'self';
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top