PHP 5.2.3 opět řeší bezpečnostní problémy

Diskuze čtenářů k článku

kkkk  |  01. 06. 2007 19:22

Programují zjevně diletanti.
Zásada 1. Než vypustím číslo (parametr, výsledek) z operace do proměnné (souboru, ...) musím zkontrolovat, zda se tam vejde.
Zásada 2. Když pracuji s číslem musím zkontrolovat, zda není 17ctimilionmístné, a ta kontrola musí být v reálném čase, takže po přečtení pár tisíc znaků by měla poznat, že to asi nebude integer a dalších 17 milionů číslic si nevšímat a spustit chybu s error recovery - takhle musím zacházet s každým parametrem, a to i pocházejícím z jiného modulu svého vlastního programu (co kdyby jej někdo opravoval a narušil Zásadu 1.)
Každý cyklus má v praktickém programování skončit v reálném čase, protože pokud je cyklen na podmínku, má vždy redundantně počítat počet průchodů a vyhnít na příliš dlouhý proces (např. 99x delší, než může nastat v nejhorším korektním příkladě), opět s voláním error recovery.
Příklad ze života: tenhle textový parametr může mít 256 alfanumerických znaků, řekl "programátor", na otázku co se stane, když tam nacpu 2,5 gigabytu bináru (začínajících megabytem písmen -nebo nezačínajících) neuměl odpovědět, k přetečení svého 2 bytového nechráněného počitadla by se po 64 kilobytech asi nedostal, protože nejdřív rouroval celý vstup až po ukončující znak...

Souhlasím  |  Nesouhlasím  |  Odpovědět
Kazanou  |  01. 06. 2007 19:33

+1

Souhlasím  |  Nesouhlasím  |  Odpovědět
azazel  |  01. 06. 2007 20:58

shodou okolností jsem se nějaký čas hrabal ve zdrojácích php (resp. hledal tam chyby) a ti co to píší rozhodně nejsou diletanti ... protože slovo "diletanti" by byla pro tyhle takyprogramátory neuvěřitelná pochvala...

na druhou stranu, se musím programátorů trochu zastat, je spousta chyb, které vzniknou ani nevíš jak - prostě se sejde několik faktorů a je tam chyba - zvlášť když na tom dělá více lidí a kód už je vyvíjen řadu let.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Vetrak  |  02. 06. 2007 06:49

To muselo byt strasne davno, ked si sa hrabal v zdrojakoch, mozno tak verzia PHP 3, alebo nejake shity z PECL. Ked si pozries kod, ktory produkuju priamo ludia zo Zendu, napriklad Dmitrij Stogov, je to na hranici geniality. Suhlasim vsak s tvrdenim, ze chyby su normalna sucast programovania.

Souhlasím  |  Nesouhlasím  |  Odpovědět
azazel  |  03. 06. 2007 09:59

uznávám, že to bylo 4.něco ... verzi 5 jsem zatím neviděl

ale něco jako 5 maker vzájemně zanořených do sebe, to se jen tak nevidí ani ve velmi špatných programech - nemluvě o tom, jak se s tím pak pracuje

Souhlasím  |  Nesouhlasím  |  Odpovědět
disser  |  01. 06. 2007 19:04

omg. nemam nic proti windows, ale proc php na windows? z clanku to vypada, ze nova verze vysla jenom na win...

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor