• 在HTML上添加integrity,验证js和css的hash,防止篡改


    近期遇到了一些运营商劫持、木马入侵等情况,会篡改页面中引入的js文件,跳转到涉赌网站,或者领取支付宝红包、打开淘宝京东推广页面等等情况。并且具有很强的隐蔽性,非搜索引擎进入的流量不会跳转,PC客户端不会跳转。

    使用integrity可以有效避免篡改,主要是能及时帮助我们发现被篡改了。

    当然,防止被篡改最重要的还是防木马以及全站https:确保不引入非https的资源(比如我们最近常见的使用第三方统计代码导致的入侵)

    计算hash

    示例如下,只需要把css/js资源的url改一下就行了

    windows环境需要注意:直接用PowerShell或者Cmd是没法运行的,完整版的cmder集成的有curlopenssl这些工具

    1
    curl https://www.lmlq.com/css/pintuer.css | openssl dgst -sha384 -binary | openssl enc -base64 -A

    返回结果如下

    1
    2
    3
    4
     % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    Dload Upload Total Spent Left Speed
    100 99534 100 99534 0 0 209k 0 --:--:-- --:--:-- --:--:-- 209k
    XMdrg/GeIQthIXiTahpiAMx6mItaEcZ7CT+mglnrKgcLsSi3znUZFEWmGrqAJb3I%

    最下面那行 去掉结尾的% 就是我们需要的hash

    添加integrity

    在引入资源的地方 增加属性:

    1
    crossorigin="anonymous" integrity="sha384-[刚刚的hash值]"

    例如

    1
    <link crossorigin="anonymous" integrity="sha384-XMdrg/GeIQthIXiTahpiAMx6mItaEcZ7CT+mglnrKgcLsSi3znUZFEWmGrqAJb3I" rel="stylesheet" href="/css/pintuer.css">
  • 相关阅读:
    NetBeans + Struts + Hibernate 入门教程
    The Perils of JavaSchools
    Java 2 EE 开发初体验
    五周年记
    MySQL Workbench 介绍
    JAVA语言学校的危险性
    娱乐无处不在 Sun工程师惊天发现:大吼可致硬盘潜伏期激增
    争什么?
    spring cloud使用zuul实现反向代理和负载均衡
    spring cloud 网管篇zuul
  • 原文地址:https://www.cnblogs.com/qdwz/p/14804031.html
Copyright © 2020-2023  润新知