Eino Tuominen
2012-04-11 08:08:44 UTC
Osuipa tuossa silmiin kollegan vinkkaama sivu, jolla on PHP:n
olemus kattavasti kiteytettynä.
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
Muutama helmi niille, joiden kärsivällisyys ei riitä kahlaamiseen:
1. Kaunista koodia
PHP:ssä oli integer overflow -haavoittuvuus, joka nerokkaasti
korjattiin tämmöisellä koodilla:
int size;
size = EXPR;
if (size > INT_MAX || size <= 0) {
return NULL;
}
Toki tuo myöhemmin korjattiin laskemaan koko käyttäen,
köh, floatia.
2. Easter Egg
Jokainen ajettava PHP-prosessi sisältää 21 kB:n kokoisen
PHP-logon, jonka saa näkyviin nerokkaalla tavalla, eli
lisäämällä '?=PHPE9568F34-D428-11d2-A769-00AA001ACF42'
skriptin loppuun.
http://en.wikipedia.org/w/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
3. NULL
"Incrementing (++) a NULL produces 1. Decrementing (--) a NULL
produces NULL."
olemus kattavasti kiteytettynä.
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
Muutama helmi niille, joiden kärsivällisyys ei riitä kahlaamiseen:
1. Kaunista koodia
PHP:ssä oli integer overflow -haavoittuvuus, joka nerokkaasti
korjattiin tämmöisellä koodilla:
int size;
size = EXPR;
if (size > INT_MAX || size <= 0) {
return NULL;
}
Toki tuo myöhemmin korjattiin laskemaan koko käyttäen,
köh, floatia.
2. Easter Egg
Jokainen ajettava PHP-prosessi sisältää 21 kB:n kokoisen
PHP-logon, jonka saa näkyviin nerokkaalla tavalla, eli
lisäämällä '?=PHPE9568F34-D428-11d2-A769-00AA001ACF42'
skriptin loppuun.
http://en.wikipedia.org/w/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
3. NULL
"Incrementing (++) a NULL produces 1. Decrementing (--) a NULL
produces NULL."
--
Eino Tuominen
Eino Tuominen