Szerző: Bodnár Ádám

2011. január 10. 15:41

A hétvégére kijavították a PHP hibáját

A múlt héten sürgősen frissíteni kellett a PHP-t, miután kiderült, egy lebegőpontos számokat kezelő rutin hibája végtelen ciklusba küldheti a szervereket. A frissítés már letölthető.

A webfejlesztők körében rendkívüli népszerűségnek örvendő, világszerte weboldalak tömege által alkalmazott PHP-ban furcsa hibát fedezett fel Rick Regan: a stringeket lebegőpontos értéké alakító rutin végtelen ciklusba került, ha a 2.2250738585072011e-308 szöveget kapta paraméterként ($d = (double)"2.2250738585072011e-308") -  kétszeres, vagyis 64 bites pontosságú ábrázolás esetén ez a legnagyobb szubnormális szám.

Regan kutakodása alatt a hibát Windows és Linux operációs rendszeren egyaránt reprodukálni tudja. Időközben kiderült, hogy a probléma nem a PHP-ban, hanem a 32 bites x86 processzorokban van. Andi Gutmans, a PHP egyik fő fejlesztője és a Zend Technologies elnök-vezérigazgatója szerint a probléma valójában az x87 lebegőpontos koprocesszor utasításkészletében van.

Nagy pénz, nagy szívás: útravaló csúcstámadó IT-soknak

Az informatikai vezetősködés sokak álma, de az árnyoldalaival kevesen vannak tisztában.

Nagy pénz, nagy szívás: útravaló csúcstámadó IT-soknak Az informatikai vezetősködés sokak álma, de az árnyoldalaival kevesen vannak tisztában.

Ezt a hibát egyszerűen ki lehet használni, elég lehet a fent látható karaktersorozatot egy PHP-n működő weboldal valamelyik szövegbeviteli mezőjébe másolni, ezzel végtelen ciklusba kergethető, vagyis válaszképtelenné tehető egy szerver. Érdemes megjegyezni, hogy a hiba csak 32 bites rendszereken jön elő, 64 bitesen nem, a nagy forgalmú weboldalak alighanem már jó ideje átálltak 64 bites környezetre. Aki nem biztos abban, hogy a rendszerét érinti-e a hiba, ennek a scriptnek a futtatásával tesztelheti.

A PHP készítői múlt hét szerdára ígérték a javításokat, de azok végül csak csütörtökre futottak be. Javasolt a PHP frissítése az 5.3.5-ös vagy 5.2.17-es verzióra. Az új PHP-verziók a fent tárgyalt lebegőpontos hiba javításán túl más újdonsággal nem szolgálnak.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról