【问题标题】:What are the dangers of gzipping everything?gzip 压缩所有内容有什么危险?
【发布时间】:2015-08-08 16:12:35
【问题描述】:

我有以下 nginx 配置:

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_comp_level 6;
gzip_min_length  1000;
gzip_proxied any;
gzip_types "*";
gzip_buffers 16 8k;

我曾经拥有gzip_types gzip_types text/plain text/css application/json application/x-javascript text/javascript text/xml application/xml application/xml+rss image/x-icon application/vnd.api+json;,但由于某种原因,根据PageSpeed,这对我不起作用。

我的问题是 - gzip 压缩所有内容有什么缺点吗?当然压缩js、css、html也不错。压缩 json、图像和其他媒体文件也可能很好。

然而,我们在这个连接上做代理 websockets。我想 min_length 位可以解决大部分问题,但是那里可能会出现任何问题吗?

另外,压缩私人数据是否存在任何安全问题? This 相关 SO 提到 CRIME,这似乎表明压缩包含机密和可变数据的响应是危险的。我还在阅读有关BREACH 的信息,这似乎与此一致。我不是安全专家,所以我不确定对此有多担心,但我们确实使用 Django,截至 2013 年 8 月,他们的建议是完全禁用 gzip。

【问题讨论】:

    标签: security nginx compression gzip


    【解决方案1】:

    BREACH 在以下情况下是可能的:

    1. 使用带有 HTTP 压缩的 HTTPS
    2. 用户可以使用响应中返回的数据发出请求(例如使用搜索框)
    3. 无随机响应填充

    因此,如果您访问恶意网站或被入侵的网站,他们可能会读取您的银行帐号或 CSRF 令牌。

    无论如何,您可以使用 HTTP 分块编码来填充您的响应。 https://qualys.jive-mobile.com/#jive-document?content=%2Fapi%2Fcore%2Fv2%2Fposts%2F2211

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-30
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-10
      • 1970-01-01
      相关资源
      最近更新 更多