宝塔51特惠活动,企业版1099元/年,送SSL证书,最高立减2万元!查看活动
当前位置:论坛首页 > Linux面板 > 讨论

宝塔上的网站防止被运营商网络劫持强行插入广告的方法

发表在 Linux面板2019-4-9 18:28 [复制链接] 2 5959

本帖最后由 痞子哥 于 2019-4-26 16:01 编辑

在浏览网页的过程中,尤其是移动端的网页,经常看到有很多无关的广告,其实大部分广告都是所在的网络劫持了网站响应的内容,并在其中植入了广告代码。如何为了防止这种情况发生呢,下面来说说防止网站被运营商网络劫持强行插入广告的方法。

方法一、安装SSL证书,实现HTTPS加密。
方法二、使用 内容安全策略CSP 进行限制。

什么是内容安全策略CSP?
      CSP指的是内容安全策略,为了缓解很大一部分潜在的跨站脚本问题,浏览器的扩展程序系统引入了内容安全策略(CSP)的一般概念。这将引入一些相当严格的策略,会使扩展程序在默认情况下更加安全,开发者可以创建并强制应用一些规则,管理网站允许加载的内容。简单来说,就是我们能够规定,我们的网站只接受我们指定的请求资源。

内容安全策略CSP的意义

防XSS、运营商网络劫持插入广告等攻击的利器。CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。CSP 大大增强了网页的安全性。攻击者即使发现了漏洞,也没法注入脚本,除非还控制了一台列入了白名单的可信主机。

CSP的配置方法
1、通过 HTTP 头信息的Content-Security-Policy的字段
     1.1 、Nginx如何添加
               在宝塔面板上的站点设置-》配置文件的,server{}代码段里添加一行
  1. add_header Content-Security-Policy "你的策略";
复制代码
1.2 、Apache如何添加
               在宝塔面板上的站点设置-》配置文件或者.htaccess文件中加入一行
  1. Header set Content-Security-Policy "你的策略"
复制代码

2、通过网页的<meta>标签
  1. <meta http-equiv="Content-Security-Policy" content="你的策略'">
复制代码
策略应该怎么写
  1. // 限制所有的外部资源,都只能从当前域名加载
  2. default-src 'self'

  3. // default-src 是 CSP 指令,多个指令之间用英文分号分割;多个指令值用英文空格分割
  4. default-src https://host1.com https://host2.com; frame-src 'none'; object-src 'none'  

  5. // 错误写法,第二个指令将会被忽略
  6. script-src https://host1.com; script-src https://host2.com

  7. // 正确写法如下
  8. script-src https://host1.com https://host2.com
复制代码
详细的CSP设置项和设置值点此了解 https://www.cnblogs.com/heyuqing/p/6215761.html

使用道具 举报 只看该作者 回复
发表于 2019-4-9 18:34:07 | 显示全部楼层
抢个沙发躺一会。。
使用道具 举报 回复 支持 反对
发表于 2020-4-1 07:27:52 | 显示全部楼层
痞子哥 发表于 2019-4-9 18:34
抢个沙发躺一会。。

不用抢了,一直是沙发
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析
快速回复 返回顶部 返回列表