作者:h4cd

来源:https://www.oschina.net/news/107377/spring-opensource-nohttp

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。

上边
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 用例

详情查看项目介绍:https://github.com/spring-io/nohttp

关注Java技术栈微信公众号,在后台回复关键字:Java,可以获取一份栈长整理的 Java 最新技术干货。

最近干货分享

面试问我 Java 逃逸分析,瞬间被秒杀了。。

到底什么是重入锁,拜托,一次搞清楚!

图解 Java 垃圾回收机制,写得非常好!

如何写出让同事无法维护的代码?

分享一份Java架构师学习资料

点击「阅读原文」一起搞技术,爽~

厉害了,Spring团队又开源 nohttp 项目!的更多相关文章

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

    Spring 团队开源 nohttp 项目,用以查找.替换和阻止 http:// 的使用. 项目是为了在可能使用 https:// 的情况下不使用到 http://,确保不会发生中间人攻击.Sprin ...

  2. 厉害了,龙果!开源中国颁发了证书:GVP-码云最有价值开源项目

    roncoo-pay (龙果支付系统) roncoo-pay是国内首款开源的互联网支付系统,其核心目标是汇聚所有主流支付渠道,打造一款轻量.便捷.易用,且集支付.资金对账.资金清结算于一体的支付系统, ...

  3. Github 上 Star 最多的个人 Spring Boot 开源学习项目

    2016年,在一次技术调研的过程中认识到了 Spring Boot ,试用之后便一发不可收拾的爱上它.为了防止学习之后忘记,就在网上连载了 Spring Boot 系列文章,没想到这一开始便与 Spr ...

  4. Github 上 Star 最多的个人 Spring Boot 开源学习项目(三)

    网上连载了 Spring Boot 系列文章 这个开源项目就是 spring-boot-examples ,这是一个专注帮助初学者学习 Spring Boot 的开源项目,里面分享了各种场景下 Spr ...

  5. 八个开源的 Spring Boot 前后端分离项目,一定要收藏!

    八个开源的 Spring Boot 前后端分离项目 最近前后端分离已经在慢慢走进各公司的技术栈,不少公司都已经切换到这个技术栈上面了.即使贵司目前没有切换到这个技术栈上面,我们也非常建议大家学习一下前 ...

  6. C#开源资源项目

    一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(as ...

  7. 常用开源GIS项目

    常用开源GIS项目     常用开源桌面GIS软件 QGIS 始于2002年5月,算得上是开源GIS平台中的后起之秀.界面友好,分析功能可与GRASS GIS相媲美.主页:http://www.qgi ...

  8. Spring Cloud集成相关优质项目推荐

    Spring Cloud Config 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储.Git以及Subversion. Spring Cloud Bus 事件.消 ...

  9. Android开发者应该深入学习的10个开源应用项目

    Android 开发带来新一轮热潮让很多移动开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用.其中也有许许多多的开发者提供了应用开源项目,贡献出他们的 智慧和创造力.学习开源代码是掌握技术的 ...

随机推荐

  1. Linux vsftpd服务配置以及三种验证方式以及常见错误解决办法

    文件传输协议(FTP): 文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传.下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件 ...

  2. 用css3写出的倒三角形

    <!DOCTYPE html><html><head><meta charset="gb2312" /><title>无 ...

  3. python基础--新式类实现单例模式

    在网上看了有关python实现单例模式的博客,发现好多都是转载的,并且都是按照python2.x版本旧式类的方式写的. 虽然也能读懂,但对于我这种一开始学的就是python3.x的新手来说,心里总有点 ...

  4. matplotlib系列——折线图

    import numpy as np import matplotlib.pyplot as plt import matplotlib #数据准备 #numpy.linspace(start, st ...

  5. unity3D中的Input按键方法检测

    一,按键的按下抬起等识别方法 void Update () { ; ; if (Input.GetKeyDown (KeyCode.A)) { Debug.Log("A按下一次") ...

  6. VMwareworkstations14 安装arch

    一.CLI安装充光驱启动系统,进入系统后名令提示符为"root@archiso ~ #"1.验证知己的启动方式是UEFI还是BISO,如果没有找到下面的文件就是BIOS的启动方式. ...

  7. jackson 问题定位

    问题背景: 云计算Pass平台版本升级,导致引用的jackson的包直接由1.*升级为2.* .在版本1.*中对于字段名与实际json不符的直接忽略了,而在2.*中则会报错.诸如此类,有较大差异,需要 ...

  8. go语言从例子开始之Example3.变量

    在 Go 中,变量 被显式声明,并被编译器所用来检查函数调用时的类型正确性 package main import "fmt" func main() { var 声明 1 个或者 ...

  9. windows server 进入组策略管理

    方法: win+R 然后输入   gpmc.msc 即可在域服务器上进行组策略管理了.

  10. oracle10G rac asm 安装总结

    前言 安装步骤是参考三思博主(http://blog.chinaunix.net/uid-22741583-id-177284.html),安装的时候由于概念没搞清楚,急于求成,折腾了两天才顺利装完, ...