Ueberlegungen zur Performance, teilweise ist ironMike daran mitschuldig ;-)

bei UAs und Referers muessen wir ein string array nehmen, das ist sicher. grade wegen teilstrings die in einem groesseren / laengeren UA oder referer matchen koennen sollen.

bei ips und ipranges haben wir jedoch die Qual der Wahl zwischen dem Spagat
"Lesbarkeit/Wartbarkeit <=> Schnelligkeit <=> Speicherverbrauch"

ips gehen z.b. so

top wartbarkeit:

array("ip1","ip2",...); => foreach
" ip1 ip2 ip3 " => strpos
array("ip" => 1) => simples pruefen if isset(...) ABER: frists mehr speicher!

schlechte wartbarkeit aber viel schneller mit signed longs statt ip strings

array(iplong1, iplong2); => foreach
" iplong1 iplong2 iplong3 " => strpos
array(iplong => 1) => simples pruefen if isset(...) ABER: frists mehr speicher!

zuletzt
ipranges koennten z.b. so gehen:
ipStartAsLong => ipEndAsLong

vielleicht findet sich ja wer, der mal misst (aber nur mit vielen sperrdaten) was wie schnell ist ,)
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki