欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring 团队开源 nohttp,尽可能不用 HTTP

程序员文章站 2022-06-27 22:17:13
Spring 团队开源 nohttp 项目,用以查找、替换和阻止 http:// 的使用。 项目是为了在可能使用 https:// 的情况下不使用到 http://,确保不会发生中间人攻击。Spring Security、Session 和 LDAP 项目负责人 ROB WINCH 指出,Sprin ......

spring 团队开源 nohttp 项目,用以查找、替换和阻止 http:// 的使用。

项目是为了在可能使用 https:// 的情况下不使用到 http://,确保不会发生中间人攻击。spring security、session 和 ldap 项目负责人 rob winch 指出,spring 团队竭尽全力更新所有 url 以使用 https,包括项目 maven 存储库 url、apache license 与文档链接。但是有些情况下确实无法使用 https,例如,spring 链接的某些站点不支持 https、xml 命名空间标识符必须与文档中的标识符匹配等。

spring framework 目前已经更新,以解析通过类路径使用 https 位置的 xml 位置。以往这仅适用于使用 http 的 url。

<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
 xsi:schemalocation="http://www.springframework.org/schema/beans
 https://www.springframework.org/schema/beans/spring-beans.xsd">

上边 https://www.springframework.org/schema/beans/spring-beans.xsd url 通过类路径解析,而不需要网络连接。这里 xml 命名空间名称(标识符)无法更改为使用 https。从安全控制的角度来看,这其实并不理想,但因为不通过网络请求,所以对用户几乎没有任何伤害。

另一方面,rob 表示 spring 团队已更新所有主机以确保使用 https,每个站点都支持 https、重定向到 https,并使用 strict transport security。以往潜在的中间人攻击意味着构建基础架构可能已经受到损害,为此,spring 重新构建了所有构建基础架构并轮换了所有凭据。

这些安全措施是很重要的,但是 rob 表示安全控制措施到位也很重要,这可以确保问题不再发生。于是团队更新了构建箱以阻止 http 流量,同时为了保护开发人员和用户,创建了 nohttp 项目。

nohttp 可用于查找、替换和阻止 http:// 的使用,项目库包含了几大模块:

  • nohttp - 核心,允许查找和替换 http:// url
  • nohttp-cli - 轻量的 nohttp 封装,用于命令行运行
  • nohttp-checkstyle - nohttp 与 checkstyle 集成
  • nohttp-gradle - nohttp 与 gradle 集成
  • samples - 一些 nohttp 用例

Spring 团队开源 nohttp,尽可能不用 HTTP