nelmio/security-bundle

为 Symfony 提供额外的安全功能:签名/加密 Cookie、HTTPS/SSL/HSTS 处理、Cookie 会话存储等

安装次数: 8,574,473

依赖项: 20

建议者: 0

安全: 0

星标: 651

关注者: 27

分支: 85

开放问题: 33

类型:symfony-bundle

v3.4.2 2024-09-10 13:22 UTC

README

关于

NelmioSecurityBundle 为您的 Symfony 应用程序提供额外的安全功能。

安装

在您的 composer.json 中要求安装 nelmio/security-bundle 包,并更新您的依赖项

$ composer require nelmio/security-bundle

该捆绑包应该由 Symfony Flex 自动启用。如果您不使用 Flex,您需要手动启用它,如文档中所述

功能

阅读 文档 了解每个功能的详细信息和配置

  • 内容安全策略:使用策略指导浏览器永远不执行内联脚本,或永远不加载来自页面域之外的域名的内容,可以减轻现代浏览器中跨站脚本攻击(XSS)。

  • 签名 Cookie:指定某些 Cookie 进行签名,这样用户就无法修改它们。请注意,它们不会被加密,但只会被签名。内容仍然对用户可见。

  • 点击劫持防护:向所有响应添加 X-Frame-Options 头部,以防止您的网站被放入框架/iframe 中。这具有严重的安全影响,Facebook 等多次证明了这一点。您可以从自身或从任何 URL 允许您的网站被框架。

  • 外部重定向检测:根据用户输入从您的网站重定向到任意 URL 可能会被利用来混淆用户,使他们点击看似指向有效网站的链接,而实际上却指向恶意内容。也可能因此获得 PageRank。

  • 强制 HTTPS/SSL 处理:这将强制所有请求通过 SSL。它还将发送 HSTS 头部,以便支持它的现代浏览器让用户使用 HTTPS,即使他们输入没有 https 的 URL,避免在公共 Wi-Fi 上的攻击。

  • 灵活的 HTTPS/SSL 处理:如果您不想强制所有用户使用 HTTPS,至少应使用安全的会话 Cookie 并强制对已登录用户使用 SSL。但这样已登录用户在访问非 HTTPS 资源时将看起来已注销。这不是一个好的解决方案。这将使应用程序检测到已登录用户,并将他们重定向到安全 URL,而不会使会话 Cookie 不安全。

  • 禁用内容类型嗅探:要求使用正确的 mime 类型加载脚本。这禁用了某些浏览器具有的功能,该功能使用内容嗅探来确定响应是否为有效的脚本文件。

  • (已弃用) XSS 防护:在兼容的浏览器(IE 8 及更高版本)上启用/禁用 Microsoft XSS 防护。

  • 引用策略:向所有响应添加 Referrer-Policy 头部,以控制从您的网站发出的请求中添加的 Referer 头部,以及浏览器通过网站导航。

用法

查看文档获取使用说明。

许可证

在MIT许可证下发布,请参阅LICENSE文件。