相关疑难解决方法(0)

大多数未修补的Tomcat Web服务器都很脆弱,谁有错?

大多数Java JVM都受到非常严重的拒绝服务(所有Oracle/Sun JVM在1.6.0_24之前[在撰写本文时还没有出现]并且没有获得昨天发布的HotFix,因为例).

http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/

下列:

curl -H 'Accept-Language: en-us;q=2.2250738585072012e-308' http://example.org
Run Code Online (Sandbox Code Playgroud)

崩溃了地球上很多 Tomcat网络服务器.

我的问题很简单:谁有错?

显然会getLocale()调用(非常严重)窃听Double.parseDouble(...),然后您可以在Tomcat上轻松执行拒绝服务.

Double.parseDouble(...)错误的实施是否真的有问题?

对我来说,看起来真正的问题是HTTP规范使用浮点数来表达对我来说真的不像科学计算的东西.对于这样的事情使用浮点数似乎不仅仅是奇怪的:很容易证明用不同语言实现会产生不同的结果.

那谁有错呢?

Java非常蹩脚(bug已知10年以来)实现了Double.parseDouble(...)

HTTP规范?(记住,PHP遇到了完全相同的错误).

我可以理解,如果用一种语言发生,你会责怪语言......但是当两种不同语言发生两次远程拒绝服务攻击时,由于HTTP规范规定解析浮点数而不是某种语言科学计算应响铃.

浮点数应该只用于科学计算.如果你没有浮点数而没有epsilon,那你就错了.

java tomcat http

7
推荐指数
2
解决办法
636
查看次数

标签 统计

http ×1

java ×1

tomcat ×1