起因:
前日有信息显示当前包括PHP、Java、Ruby在内的很多语言版本存在漏洞,PHP官方开发组成员Laruence(新浪微博)表示攻击者可以通过构造Hash冲突实现拒绝服务攻击,并提供了实例。这个攻击方法危害很高,攻击成本也很小,一个台式机可以轻松搞垮数十台、上百台服务器。
此漏洞一出,相当于随便一个攻击者就可以DDoS掉世界上的大部分网站!危害等级绝对是核弹级别。因此,PHP官方开发组紧急发布了补丁,请大家尽速修补。
PHP方面,<= 5.3.8, <= 5.4.0RC3的所有版本均会受此漏洞影响。PHP 5.3.9和PHP 5.4.0已经包含了针对此漏洞的补丁,但由于两个版本目前仍然在RC状态,无法用于生产服务器升级。至于PHP 5.2,官方开发组表示不会为了这个漏洞发布新版。
升级后带来的影响:
POST 数组元素最多默认1000个, 导致如果POST超出1000个元素就会数据丢失
解决方法:
在php.ini 中设置这个值~
测试:
<form method="post" action="">
<?php
for($i=0; $i<1001; $i++)
{
?>
<input type="hidden" n