phpbar.de logo

Mailinglisten-Archive

Re[2]: [php] ereg()

Re[2]: [php] ereg()

Sibylle Bölling php_(at)_phpcenter.de
Fri, 12 Jul 2002 14:29:55 +0200


Tach,

> hmm, das würde doch aber immer noch 0.1.2.4 finden, oder?

> allerdings muss ich zugeben, dass mich da meine weiteren kenntnisse
über IP
> Adressen verlassen... kann es welche geben, die mit weniger als 127.
> beginnen? gibt es sonst noch was?
Also unter 127 ist doch kein Problem. Class A Netz. Du würdest im
Zweifelsfall Leute von IBM oder von der amerikanischen Regierung
aussperren. 127.0.0.1 (localhost) oder 192.168 (privater Adressbereich
für Intranets) wären zumindest erstaunlich, wenn du nicht lokal oder im
Intranet testest.

Ansonsten http://www.uni-karlsruhe.de/~za221/ossos/tcpip.htm


> irgendwie könnte man das auf jeden Fall auch so aufbauen:
>
> if ( ereg( "^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",
> $str1, $regs ) ){
Da will aber einer unbedingt zeigen, daß er REGEXP kann ;-)). Wie
gesagt, gehen tuts, aber diese Banwürmer sind auch eher fehleanfällig.
explode und is_int ist weniger fehleranfällig.

>         if($regs[1]<127 || $regs[1]>255 || $regs[2]>255||
> $regs[3]>255||$regs[4]>255){

< 127 ist wie erwähnt nicht sinnvoll.
Außerdem  müßtest du noch jeden einzelnen Sonderfall (Broadcast, erster
Teil >224, privater Bereich, etc.) abfangen. Aber braucht man das
wirklich?

Nun gut, hoffen wir auf schönes Wetter und harren der Dinge, die da
kommen.

Bylle


php::bar PHP Wiki   -   Listenarchive