做者:h4cd javascript
来源:http://t.cn/AilfwWQgjava
Spring 团队开源 nohttp 项目,用以查找、替换和阻止 的使用。git
项目是为了在可能使用 https:// 的状况下不使用到 http://,。github
Spring Security、Session 和 LDAP 项目负责人 ROB WINCH 指出,Spring 团队不遗余力更新全部 URL 以使用 HTTPS,包括项目 Maven 存储库 URL、Apache License 与文档连接。spring
可是有些状况下确实没法使用 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。gradle
以往潜在的中间人攻击意味着构建基础架构可能已经受到损害,为此,Spring 从新构建了全部构建基础架构并轮换了全部凭据。
这些安全措施是很重要的,可是 ROB 表示安全控制措施到位也很重要,这能够确保问题再也不发生。因而团队更新了构建箱以阻止 HTTP 流量,同时为了保护开发人员和用户,建立了 nohttp 项目。
nohttp 可用于查找、替换和阻止 http:// 的使用,项目库包含了几大模块:
nohttp - 核心,容许查找和替换 http:// URL
nohttp-cli - 轻量的 nohttp 封装,用于命令行运行
nohttp-checkstyle - nohttp 与 checkstyle 集成
nohttp-gradle - nohttp 与 Gradle 集成
samples - 一些 nohttp 用例
详情查看项目介绍:https://github.com/spring-io/nohttp